2012-02-14 21:16:14 +0000 2012-02-14 21:16:14 +0000
91
91

Comment faire en sorte que la fonction "Ajustement automatique de la hauteur des lignes" d'Excel s'adapte automatiquement à la hauteur des lignes ?

Pour toutes les générations d'Excel dont je me souviens (y compris 2010, que j'utilise actuellement), la fonction “Taille automatique des lignes” d'Excel ne parvient pas toujours à ajuster automatiquement la taille d'une ligne lorsque la cellule contient du texte enveloppé. Lorsqu'elle fonctionne correctement, tout le texte est révélé et il n'y a pas d'espace supplémentaire sous la dernière ligne de texte. Lorsqu'elle ne fonctionne pas, elle ajoute de l'espace supplémentaire sous le texte. Pour aggraver les choses, ce que vous voyez n'est pas toujours ce que vous obtenez, c'est-à-dire que le texte qui semblait correct à l'écran est coupé lorsqu'il est imprimé. Vous obtenez également une taille différente selon que vous faites un zoom avant/arrière ou que vous êtes en taille réelle.

Cas de test simple:

Pourquoi y a-t-il un espace d'une ligne après le texte dans la cellule A1 mais pas dans A2 ?

(Pour reproduire : régler la largeur de la colonne A à 17,14 (125 pixels), le texte s'enroule sur lui-même et l'alignement de la cellule est en haut.)

(J'ai vérifié deux fois que j'avais appliqué la fonction “Auto Fit Row Height” aux deux lignes. Le niveau de zoom est de 100 %).)

Y a-t-il un remède connu à cela sans avoir recours à un ajustement manuel de la hauteur des lignes (ce qui n'est pas pratique pour plus d'une poignée de lignes) ?

Réponses (16)

106
106
106
2012-12-05 10:49:44 +0000

Une méthode que je viens de trouver (qui étend un peu le post précédent) :

  • Sélectionnez la feuille entière.
  • Redimensionnez une colonne un peu plus large (parce que la feuille entière est sélectionnée, toutes les colonnes seront plus larges)
  • Double-cliquez sur un séparateur de ligne - la hauteur des lignes sera ajustée automatiquement
  • Double-cliquez sur un séparateur de colonne - la largeur des colonnes sera ajustée automatiquement

Voila !

13
13
13
2012-02-15 19:07:25 +0000

Le WYSIWYG d'Excel n'est pas le meilleur. Sur votre photo, le “chat” se faufile à peine dans la 5e ligne. Si vous réduisez le pourcentage de zoom à moins de 100 % (99 % par exemple), alors “chat” se retrouve sur la sixième ligne. Je pense qu'Excel essaie de s'adapter automatiquement de manière à ce que tout soit presque toujours visible, quel que soit le niveau de zoom.

Ce n'est pas le seul problème que vous aurez avec l'adaptation automatique. En outre, la façon dont une cellule enveloppée de mots est imprimée ne correspond pas toujours à ce que vous voyez à l'écran. Prenez votre exemple et changez la police en Courier tout en laissant la taille à 11.

Comme vous pouvez le voir, la cellule A1 semble recevoir 1,5 ligne supplémentaire. Regardez maintenant l'aperçu avant impression, “cat.” est complètement caché.

Dans mon expérience, Excel a ce problème avec certaines polices et tailles de police plus que d'autres. **La taille 11 est généralement pire que la taille 10 ou 12. (Pourquoi ont-ils choisi la taille 11 comme nouveau défaut, je n'en ai aucune idée).

3
3
3
2016-01-22 08:51:09 +0000

Je viens d'écrire une petite macro à cet effet. Je lui ai attribué une touche de raccourci (Ctrl-Maj-J) et elle fonctionne à merveille pour moi.

Sub ArrangeTable()
'set proper column width and row height for the current region
    With Selection.CurrentRegion
        .Columns.ColumnWidth = 200
        .Columns.EntireColumn.AutoFit
        .Rows.EntireRow.AutoFit
    End With
End Sub

Pour la rendre disponible en permanence, vous pouvez facilement créer un complément de chargement automatique :

  • créez un module dans un classeur vierge et collez le code,
  • attribuez-lui la touche de raccourci que vous voulez,
  • puis Save As, Add-in, dans le dossier %appdata%\Microsoft\Excel\XLSTART De cette façon, il sera chargé de façon invisible chaque fois que vous lancerez Excel.
0
0
0
2013-05-01 19:58:57 +0000

Un article de ko à ce sujet “suggère” (c'est inacceptablement rare, à la manière classique de Microsoft) que si jamais vous réglez la hauteur d'une ligne, l'ajustement automatique de la hauteur est définitivement supprimé pour cette ligne de la feuille de calcul. Les rangées dont vous n'avez pas touché à la hauteur s'adapteront automatiquement

Alors que vous pouvez réinitialiser la largeur des colonnes avec le paramètre “largeur standard” en 2003 (madman-designed 2007 : passage à la “largeur par défaut”), ils ont oublié (encore) de le mettre pour les rangées. La permanence semble donc inévitable. Cela signifie que si vous avez une hauteur par défaut de 15, et que vous créez une feuille et que vous réglez toutes les hauteurs sur 12, vous perdez tout simplement l'ajustement automatique.

0
0
0
2013-07-05 17:03:56 +0000

Parfois, il existe une méthode nucléaire pour résoudre les problèmes d'autoprotection.

Ce que je fais, c'est copier le texte de chaque cellule et coller les données dans le bloc-notes, puis supprimer la ligne. Ensuite, je copie et j'insère immédiatement une ligne qui est vide mais qui a le même formatage et le même bon comportement que la ligne qui a été supprimée. (Vous devez copier et insérer la ligne entière en utilisant les boutons de la ligne gauche)

Une fois que c'est fait, vous devez revenir en arrière et insérer le texte du bloc-notes dans chaque cellule. (Utilisez la touche F2 ou bien activez le mode d'édition de chaque cellule avant d'insérer le texte). C'est une douleur, donc c'est un dernier recours, surtout pour les feuilles de travail extrêmement larges.

C'est parfois la seule solution, car le problème réside dans le programme lui-même.

0
0
0
2015-01-08 19:14:53 +0000

Je n'ai pas fait de tests approfondis, mais cela a fonctionné pour moi. En gros, il ajuste automatiquement toutes les feuilles, puis revient en arrière et règle la largeur de la colonne sur la largeur d'origine, à moins qu'elle n'ait été augmentée par l'ajustement automatique. Je n'avais que 10 colonnes et jamais plus de 1000 lignes, alors ajustez le code selon vos besoins.

Sub ResizeCells()
    Dim sheetCounter As Integer
    Dim rowCounter As Integer
    Dim colCounter As Integer
    Dim totalWidth As Double
    Dim oldColWidths(1 To 10) As Double

    For sheetCounter = 1 To ThisWorkbook.Sheets.Count
        ActiveWorkbook.Worksheets(sheetCounter).Select
        totalWidth = 0

        ' Extend the columns out to 200
        For colCounter = 1 To 10
            oldColWidths(colCounter) = Cells(1, colCounter).ColumnWidth
            totalWidth = totalWidth + oldColWidths(colCounter)
            Cells(1, colCounter).ColumnWidth = 200
        Next

        For rowCounter = 4 To 1000
            If Cells(rowCounter, 1).Value <> "" Or Cells(rowCounter, 2).Value <> "" Or Cells(rowCounter, 3).Value <> "" Then
                Rows(rowCounter & ":" & rowCounter).EntireRow.AutoFit
            End If
        Next

        ' do autofit
        For colCounter = 1 To 10
            Cells(1, colCounter).EntireColumn.AutoFit
        Next

        ' reset to original values if current width is less than the original width.
        For colCounter = 1 To 10
            If Cells(1, colCounter).ColumnWidth < oldColWidths(colCounter) + 0.25 Then
                Cells(1, colCounter).ColumnWidth = oldColWidths(colCounter)
            End If
        Next
    Next
End Sub
0
0
0
2012-06-21 14:33:14 +0000

Dans certains cas, le problème de l'espace supplémentaire dans certaines lignes après avoir invoqué “AutoFit Row Height” peut être dû au fait qu'une colonne cachée a enveloppé le texte dans ces lignes.

-1
-1
-1
2013-04-08 16:10:30 +0000

J'ai Excel 2010. J'ai découvert que ce problème m'est arrivé alors que mon réglage de zoom n'était pas à 100%. Tant que je suis à 100 %, je n'obtiens pas le texte coupé avec l'AutoFit pour les colonnes et les lignes

-1
-1
-1
2012-02-14 21:29:39 +0000

Pour paraphraser Dunc :

, j'ai résolu un problème similaire par :

  1. Sélectionnant la feuille de calcul entière.

  2. En double-cliquant sur la ligne dans la marge entre les deux lignes.

Pour résoudre spécifiquement le problème de cette ligne supplémentaire, je suppose qu'il y a un caractère. Ce n'est peut-être pas un personnage visible, mais il y a bien quelque chose.

-1
-1
-1
2013-01-01 11:17:02 +0000

Moi aussi, j'ai enduré ce minuscule mais extrêmement distrayant insecte pendant de nombreuses années. Je n'ai pas d'autre solution que de jouer avec la largeur de la ligne de la cellule contenant le plus de texte, et le programme finira par se relâcher et par afficher le texte correctement.

-1
-1
-1
2013-02-26 11:57:20 +0000

Il existe une solution facile :

1) Sélectionnez toutes les lignes que vous voulez formater automatiquement (si c'est un grand bloc, cliquez sur la première et appuyez ensuite sur Maj+Fin et Maj+Bas)

2) Faites un clic droit sur la sélection, Formatez les cellules, l'onglet Alignement, décochez Wrap text.

J'espère que cela vous aidera ;)

-1
-1
-1
2015-12-17 16:10:03 +0000

En fait, il y a là un personnage supplémentaire. C'est le caractère LF caché qui se trouve à la fin de chaque champ. Lorsque le texte est de la bonne taille, la ligne supplémentaire est là pour contenir le caractère LF. Redimensionner la largeur de la colonne comme d'autres personnes l'ont suggéré résoudra le problème de cette cellule, mais si votre tableur comporte beaucoup de valeurs de taille variable dans cette même colonne, il est possible que votre solution pour cette cellule entraîne le problème pour une autre cellule de la colonne. J'ai appris à vivre avec la plupart du temps.

-1
-1
-1
2012-08-06 12:19:12 +0000

Je n'ai pas pris le temps de lire les autres commentaires. Pourquoi la ligne en bas du premier bloc et pas dans le deuxième bloc ?

C'est parce que le texte se termine trop près du bord droit de la cellule. Si vous ajustez la colonne pour qu'elle soit un peu plus large et que vous double-cliquez entre les lignes, elle sera redimensionnée en conséquence.

-1
-1
-1
2013-06-20 11:46:42 +0000

Mon hypothèse est qu'Excel se noue lorsqu'il doit étendre trop de lignes. J'ai eu une expérience similaire à celle qui précède. On dirait qu'il y a un NL/CR/LF supplémentaire à la fin, mais je sais qu'il n'y en a pas. Si je construis la cellule quelques caractères à la fois, elle s'auto-formate jusqu'à ce qu'une taille particulière soit atteinte, puis elle met la ligne supplémentaire. (Un comportement similaire à l'inverse se produit si vous commencez par supprimer quelques caractères). Cela se produit à des moments différents avec des cellules différentes.

Dommage !

Donc si vous pouvez étendre la largeur de la cellule, vous pouvez probablement éviter le problème. Si vous ne pouvez pas (comme dans mon cas), vous êtes coincé avec un formatage manuel. Comme je l'ai dit, “Bummer !”

-2
-2
-2
2013-01-30 20:38:33 +0000

sélectionnez toutes les cellules, et cliquez sur la ligne qui sépare deux fois les lignes… cela se fera automatiquement.

-2
-2
-2
2012-12-20 00:41:51 +0000

Ce qui a fonctionné pour moi (Excel 2010), c'est de supprimer une centaine de colonnes inutilisées à droite de mes données. Je ne peux que deviner qu'il y avait là quelque chose qui a fait que la hauteur de ligne automatique s'est mal comportée.