web-dev-qa-db-fra.com

Comment obtenir une cellule dans Excel pour ajuster automatiquement sa hauteur en fonction du contenu du texte enveloppé?

J'ai une cellule avec un contenu texte enveloppé dans Excel et je souhaite la formater de sorte que sa hauteur s'adapte au contenu pouvant s'étendre sur plusieurs lignes. Comment puis-je obtenir ce comportement?

20
Manga Lee

De http://support.Microsoft.com/kb/149663

Pour ajuster la hauteur de la ligne à tout le texte d'une cellule, procédez comme suit:

Sélectionnez la ligne.

Dans Microsoft Office Excel 2003 et dans les versions antérieures d'Excel, pointez sur Ligne dans le menu Format, puis cliquez sur Ajuster automatiquement.

Dans Microsoft Office Excel 2007, cliquez sur l'onglet Accueil, cliquez sur Format dans le groupe Cellules, puis cliquez sur Ajuster la hauteur de ligne.

Fonctionne également lorsque toutes les lignes sont sélectionnées

24
vaichidrewar

Essayer

Sélectionnez la colonne -> colonne du bouton droit de la souris -> Formater les cellules -> onglet Alignement -> Envelopper le texte

10
hyperslug

Notez que l'ajustement automatique ne fonctionne pas sur les cellules fusionnées. Tu dois le faire manuellement.

Voir cette réponse de Microsoft:

Vous ne pouvez pas utiliser la fonctionnalité d'ajustement automatique pour les lignes ou les colonnes contenant des cellules fusionnées dans Excel

3
abruti

S'il ne le fait pas automatiquement, placez votre curseur sur la petite ligne entre les numéros de ligne (ex: entre 1 et 2) et double-cliquez sur la ligne, ce qui redimensionnera la ligne (directement au-dessus de la petite ligne, dans l'exemple: 1). afin que tout soit visible (d'un point de vue vertical).

2
Lance Roberts

J'ai créé le code VB suivant pour redimensionner la ligne d'en-tête lorsqu'une cellule comprise dans une plage (B2: B1500), car les valeurs de date supérieures à 28/12/2014 provoqueraient l'en-tête pour avertir que ces dates, en une feuille de temps, entrerait dans la semaine 1 de 2015:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    ' The variable KeyCells contains the cells that will
    ' cause an Action when they are changed.
    Set KeyCells = Range("B2:B1500")

    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then

        ' Change the height of the header row when one of the defined cdlls is changed
        Rows("1:1").EntireRow.AutoFit

    End If
End Sub
0
Mickg01

Connaissez-vous la macro? Mettez le code suivant dans

Application.ActiveCell.WrapText = True

dans votre sous-routine Worksheet_SelectionChange.

0
Toc

Une solution VBA doit utiliser les éléments suivants:

 Call Application.ActiveCell.AutoFit
0
richardtallent

Le seul moyen de le faire fonctionner correctement est de mettre en surbrillance la feuille entière avec CTRL-A, de désélectionner le bouton "Envelopper le texte" dans la barre d’outils, puis de le sélectionner à nouveau. Aucun autre paramètre ne change, mais chaque ligne a maintenant la hauteur "correcte" pour son contenu.

0
simpleuser