Augmentation de la hauteur de ligne pour l’impression (Microsoft Excel)
Jeaux travaille avec beaucoup de longues feuilles de calcul contenant des données dont elle peut avoir besoin pour imprimer. Une fois imprimée, elle écrit ensuite dans l’espace à côté de la colonne de données. Toutes les lignes sont automatiquement dimensionnées pour s’adapter au contenu, elles varient donc en hauteur. Jeaux recherche une macro qui prendra les lignes sélectionnées et les augmentera progressivement, par exemple d’un pourcentage donné. (Comme ils sont de différentes hauteurs, elle ne peut pas simplement les régler tous à la même hauteur.)
De cette façon, elle peut rendre les lignes suffisamment grandes pour l’écriture manuscrite, tout en étant capable de voir toutes les données. Ce serait également bien d’avoir un moyen de redéfinir la hauteur des lignes sur ce qu’elles étaient avant l’impression.
Cette tâche est très facile à accomplir avec une macro. Tout ce que vous avez à faire est de parcourir les lignes sélectionnées et d’ajuster la propriété RowHeight, comme cela est fait dans cette macro:
Sub ExpandSelectedRows() Dim rRow As Range Dim dEnlarge As Double dEnlarge = 1.25 For Each rRow In Selection.Rows rRow.RowHeight = rRow.RowHeight * dEnlarge Next End Sub
Dans ce cas, la variable dEnlarge contient 1,25, ce qui signifie que la formule de la boucle For … Next augmentera la hauteur de ligne de 25%. La valeur de cette variable peut être modifiée pour refléter le pourcentage que vous souhaitez utiliser, ou vous pouvez modifier la macro pour demander à l’utilisateur un pourcentage:
Sub ExpandSelectedRows() Dim rRow As Range Dim dEnlarge As Double Dim sTemp As String sTemp = InputBox("Increase by what percent?") dEnlarge = Val(sTemp) If dEnlarge > 1 Then dEnlarge = dEnlarge / 100 If dEnlarge < 1 Then dEnlarge = dEnlarge + 1 If dEnlarge > 0 Then For Each rRow In Selection.Rows rRow.RowHeight = rRow.RowHeight * dEnlarge Next End If End Sub
Si vous souhaitez plus tard ramener les lignes à leur hauteur d’origine, la macro sur une seule ligne suivante fera l’affaire:
Sub AutfitRows() Cells.EntireRow.AutoFit End Sub
Cette macro fonctionne car les lignes de votre feuille de calcul étaient à l’origine «automatiquement dimensionnées pour s’adapter au contenu». Alors qu’une macro aurait pu être écrite pour inverser les étapes d’agrandissement (en divisant par dEnlarge au lieu de multiplier), elle ne fonctionnerait de manière fiable que si la macro ExpandSelectedRows n’était pas exécutée plusieurs fois.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (21) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.