Excel 2010: fixer la largeur des colonnes par macro
Résolu
arcade89400
Messages postés
28
Statut
Membre
-
arcade89400 Messages postés 28 Statut Membre -
arcade89400 Messages postés 28 Statut Membre -
Bonjour à toutes et à tous; je viens de m'inscrire sur CCM - ma question: je veux fixer des laefeurs différentes aux colonnes d'une feuille à imprimer. Je fais une macro, mais seule la dernière largeur saisie est mémorisée et s'applique à toutes les colonnes de la page. Pourtant quand je fais manuellement les mêmes commandes, mon tableau est bien comme je le veux.
Merci de votre aide. Crldt
Merci de votre aide. Crldt
3 réponses
-
Bonjour,
Un exemple de code :Option Explicit Sub xxx() Dim wsh As Worksheet Set wsh = Worksheets(1) '1 ou autre wsh.Columns("A:B").ColumnWidth = 10 wsh.Columns("E:E").ColumnWidth = 20 End Sub-
Merci Patrice33740
Compte tenu des macros déjà faites avec l'enregistreur de macros et de vos conseils, j'ai enregistré la macro suivante:
Sub Macro4()
'
' Macro4 Macro
' Fixer la largeur des colonnes de UTILE
'
'Sub Macro4()
wsh.Columns("A:A").ColumnWidth =8,3
wsh.Columns("B:B").ColumnWidth =7,8
wsh.Columns("C:C").ColumnWidth = 20
wsh.Columns("D:D").ColumnWidth = 15
wsh.Columns("E:E").ColumnWidth = 6
wsh.Columns("F:F").ColumnWidth = 30
End Sub
Mais Excel me dit qu'il y a une erreur de syntaxe. Pouvez-vous m'aider ? Je précise que j'arrive à enregistrer une macro, mais je ne maîtrise pas du tout VBA...
-
-
Bonjour,
Eh bien un premier point, les nombres décimaux avec un point [8.3] et pas virgule [8,3] ...¨
De plus [wsh] n'est pas reconnu essayez comme suit :Sub Macro4() ' ' Macro4 Macro ' Fixer la largeur des colonnes de UTILE ' Set wsh = Sheets("UTILE") wsh.Columns("A:A").ColumnWidth = 8.3 wsh.Columns("B:B").ColumnWidth = 7.8 wsh.Columns("C:C").ColumnWidth = 20 wsh.Columns("D:D").ColumnWidth = 15 wsh.Columns("E:E").ColumnWidth = 6 wsh.Columns("F:F").ColumnWidth = 30 End Sub
Salutations.
Le Pingou -
Bonjour
tu peux aussi faire comme caSub Macro4() ' Fixer la largeur des colonnes Larg = Array(8.3, 7.8, 20, 15, 6, 30) With Sheets("UTILE") For C = 1 To 6 .Columns(C).ColumnWidth = Larg(C - 1) Next End With End Sub
A+
Maurice