dimanche 4 décembre 2011

Ajuster la largeur de toutes les colonnes

Ajuster la largeur d’une colonne fait partie de ces petites manips qu’on fait régulièrement pour préserver ou améliorer la lisibilité d’un tableau. C’est un basique de la mise en forme, un de ces petits détails qui participent à la qualité cosmétique d’une feuille.

Pour ajuster la largeur d’une colonne, on peut prendre sa souris et double-cliquer sur la ligne de séparation des en-têtes de colonnes, sur la droite de la colonne qu’on veut ajuster.


(Parenthèse – à mes yeux, c’est ce genre de petites manips-astuces qui a contribué au succès d’Excel. Cette manière de travailler crée quelque chose de direct et de spontané dans le rapport entre l’utilisateur et son tableau, comme si l’interface devenait tout à coup simple et naturelle. D’une certaine façon, c’est une certaine idée de l’ergonomie, qui réduit ou fait oublier la distance entre le sujet “utilisateur” et l’objet “tableau”. D’une certaine manière, smartphones et tablettes continuent aujourd’hui de creuser cette voie du rapport tactile avec l’information dans une manipulation quasiment physique.)


Le chemin conventionnel pour faire ça est Format / Colonne / Ajustement automatique (sous Excel 2003), ou Accueil / Cellules / Format / Taille de la cellule / Ajuster la largeur de colonne (sous Excel 2007).

Personnellement, j’utilise la séquence de touches de clavier qui fait exactement ça sous Excel 2003 : Alt, T, O, U. Je fais ça quand je veux ajuster la largeur d’une seule colonne, ou bien de quelques colonnes contiguës.

Pour ajuster en une seule fois la largeur de toutes les colonnes utilisées dans la feuille, il suffit de tout sélectionner d’abord (Ctrl + A), avant d’effectuer la manip ci-dessus.

À une certaine époque (et pendant assez longtemps, du reste), je n’avais pas réalisé que je pouvais ajuster toutes les colonnes de la feuille avec cette simple succession de touches : Ctrl + A, Alt, T, O, U. J’avais alors écrit une macro qui fait la même chose. Je l’expose ici, moins par souci de pertinence que par plaisir de présenter un petit bout de code qui permet d’aller très vite sur quelque chose d’anodin.

Je vais utiliser deux variables pour délimiter le rectangle des cellules utiles de la feuille :
Dim Coin1 As Range, Coin4 As Range
Le coin supérieur gauche de ce rectangle, c’est la cellule A1 :
Set Coin1 = Range("A1")
Le coin inférieur droit c’est la dernière cellule de la feuille, qu’on définit à partir d’une cellule (et non pas de la feuille), tant qu’à faire à partir de Coin1 :
Set Coin4 = Coin1.SpecialCells(xlLastCell)
Puis on ajuste les colonnes de la plage Range(Coin1, Coin4), avec la méthode Autofit :
Range(Coin1, Coin4).Columns.AutoFit

Tout ça ensemble :
Sub AjusterColonnesFeuilleEntière()
Dim Coin1 As Range, Coin4 As Range
Set Coin1 = Range("A1")
Set Coin4 = Coin1.SpecialCells(xlLastCell)
Range(Coin1, Coin4).Columns.AutoFit
End Sub

Certes, ça a un côté “j’ai des solutions, trouvez-moi des problèmes” ! Mais il se trouve que je continue à utiliser cette macro très régulièrement, d’une part parce que j’en ai l’habitude, d’autre part et surtout parce que je la déclenche par une séquence clavier de trois touches. Ce qui est deux fois plus court que la séquence de six touches, mine de rien...

Aucun commentaire:

Enregistrer un commentaire