L’une des (nombreuses) choses frustrantes à propos d’Excel est qu’il utilise différentes unités de mesure pour spécifier la hauteur des lignes et la largeur des colonnes.

La hauteur de ligne est assez simple: elle est mesurée en points. La largeur de colonne, cependant, est mesurée en largeurs de caractères. Si votre style Standard est défini sur Courier 10, une largeur de colonne de 12 signifie que vous pouvez insérer exactement douze caractères dans une colonne donnée. Pour les polices proportionnelles, le caractère 0 est utilisé pour compter les caractères. (Ouais, c’est absurde.)

Cela pose des problèmes si vous souhaitez que la hauteur et la largeur d’une cellule particulière correspondent, créant ainsi un carré. Heureusement, avec une petite sorcellerie macro, vous pouvez contourner cette bizarrerie d’Excel et obtenir les résultats souhaités. Considérez la macro MakeSquare:

Sub MakeSquare()

Dim WPChar As Double     Dim DInch As Double     Dim Temp As String          Temp = InputBox("Height and width in inches?")

DInch = Val(Temp)

If DInch > 0 And DInch < 2.5 Then         For Each c In ActiveWindow.RangeSelection.Columns             WPChar = c.Width / c.ColumnWidth             c.ColumnWidth = ((DInch * 72) / WPChar)

Next c         For Each r In ActiveWindow.RangeSelection.Rows             r.RowHeight = (DInch * 72)

Next r     End If End Sub

Cette macro vous demande la dimension du carré que vous souhaitez créer, puis calcule exactement la largeur et la hauteur de chaque cellule.

Vous pouvez exécuter la macro avec une seule cellule sélectionnée ou vous pouvez créer un ensemble de sélection plus grand.

La « magie mathématique » se fait dans le calcul de la variable WPChar. Ceci est défini sur une valeur dérivée en divisant la largeur de la colonne en points (retournée par la propriété Width) par la largeur de la colonne en caractères (retournée par la propriété ColumnWidth). Cette valeur, qui est le nombre de points dans un caractère aux paramètres actuels, est ensuite utilisée pour calculer le nombre de caractères à utiliser pour définir la largeur dans la ligne de programme suivante.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (1943) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.