Dean se demande comment changer la largeur de la colonne et la hauteur de la ligne de pixels en pouces. Il aimerait créer des étiquettes dans Excel, et elles sont spécifiées en pouces.
Avant d’entrer dans les moyens possibles de résoudre ce problème, il faut souligner qu’Excel utilise une façon étrange de calculer la hauteur de ligne et la largeur de colonne. En effet, la hauteur de ligne est calculée de manière totalement différente de la largeur de colonne.
La hauteur de ligne n’est pas mesurée en pixels, mais en points. Un pixel est une unité de mesure relative liée principalement aux dispositifs d’affichage tels que les moniteurs et les imprimantes. Si quelque chose fait 50 pixels de large, cette taille, en soi, ne signifie rien sans savoir combien de pixels le dispositif est capable d’afficher verticalement.
Les points, cependant, sont bien définis – il y a environ 72 points par pouce, donc une hauteur de rangée de 72 serait un pouce de haut. C’est simple, non ?
Prenons maintenant la largeur de la colonne, qui n’est spécifiée ni en pixels ni en points. Au lieu de cela, elle est spécifiée en largeur de caractères de la police de caractères que vous utilisez. Par exemple, si votre style Standard est défini sur Courier 10, alors une largeur de colonne de 12 signifie que vous pouvez insérer exactement 12 caractères dans une colonne donnée. Changez la police de caractères utilisée, et tout à coup, la largeur de votre colonne changera également, de sorte qu’elle puisse toujours afficher 12 caractères.
Oui, cette approche est vraiment loufoque. Elle rend également très difficile de faire quelque chose comme concevoir des étiquettes dans Excel. Vous pourriez obtenir quelque chose de conçu qui fonctionne sur votre système (après une bonne dose d’essais et d’erreurs), mais si vous transmettez ensuite le classeur à un ami, il y a de bonnes chances que cela ne fonctionne pas sur son système. Pourquoi ? Parce que la façon dont une police de caractères est rendue sur leur système peut être entièrement différente de celle du vôtre.
La meilleure façon de traiter les étiquettes, très honnêtement, est de les faire dans Word. Vous pouvez conserver vos données d’étiquettes dans une feuille de calcul Excel, mais utiliser la fusion de courrier dans Word pour créer les véritables étiquettes. Les outils fournis pour les étiquettes sont beaucoup plus faciles et beaucoup plus précis que ce que vous pouvez faire dans Excel.
Si vous devez absolument le faire dans Excel, alors vous devriez passer à la vue Mise en page. (Affichez l’onglet Affichage du ruban et cliquez sur l’outil Mise en page dans le groupe Vues du classeur). Cela affiche à l’écran des règles horizontales et verticales que vous pouvez utiliser comme guide pour vous aider à définir la hauteur de vos lignes et la largeur de vos colonnes.
Il existe un autre effet secondaire intéressant du travail en vue Mise en page : Si vous affichez l’onglet Accueil du ruban et que vous utilisez les commandes pour définir la hauteur des lignes et la largeur des colonnes (à partir de l’outil Format), vous remarquerez que les deux sont spécifiées en pouces. Ils ne reviennent à la largeur de colonne en nombre de caractères absurde que si vous revenez à la vue normale.
Si vous préférez définir la hauteur et la largeur par l’utilisation d’une macro, vous pourriez trouver la macro WidthHeightInches instructive.
Sub WidthHeightInches() Dim Temp As String Dim RInch As Single Dim CInch As Single Dim WPChar As Double Dim c As Range Dim r As Range Temp = InputBox("Row height in inches?") RInch = Val(Temp) If RInch > 0 And RInch <= 2 Then Temp = InputBox("Column width in inches?") CInch = Val(Temp) If CInch > 0 And CInch <= 3 Then For Each c In ActiveWindow.RangeSelection.Columns WPChar = c.Width / c.ColumnWidth c.ColumnWidth = ((CInch * 72) / WPChar) Next c For Each r In ActiveWindow.RangeSelection.Rows r.RowHeight = (RInch * 72) Next r End If End IfEnd Sub
Rappellez-vous que les largeurs de colonne sont spécifiées par le nombre de chiffres qui peuvent tenir horizontalement dans une cellule. Le cœur de cette macro calcule la largeur d’un seul chiffre, en points. Pour ce faire, elle divise la largeur de la colonne en points (propriété .Width) par la largeur de la colonne en caractères (propriété .ColumnWidth). Cette valeur est ensuite utilisée pour calculer le nombre de caractères de largeur que doit avoir la colonne pour avoir la largeur souhaitée.