VBA : ajuster des colonnes

Résolu
VBA -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,



Je tente d'ajuster des colonnes de mon tableau Excel.
J'ai appris à me servir des commandes du genre Columns("C:E").Columns.AutoFit
Mon problème est que mon nombre de colonne est variable. Je ne peux pas définir a l'avance les variables ("A:Z") par exemple.
Dans l'idéal des cas, j'aurais besoin de récuperer le nombre de colonne (ça je sais le faire) stocker ca dans une variable (pas de probleme) écrire quelque chose du genre:
Tant que je n'arrive pas au nbColumnsMax, ajuster les colonnes. Ou avec un for, peu importe.

Qulequ'un ?
A voir également:

3 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Code a adapter a votre besoin.

Sub test()
'derniere colonne utilisée de la feuille
dercol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column

'Lettre de la Colonne en fonction de son numero
lc = Split(Cells(2, dercol).Address, "$")(1)
'Ajuste colonnes
Columns("A:" & lc).EntireColumn.AutoFit

End Sub

Bonne suite
4
VBA
 
Impeccable, je te remercie pour ton aide :)
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

tu aurais pu également mettre ce code dans la propriété de la feuille (clic sur l'onglet de ta feuille/Visualiser le code)

le déplacement de la souris dans une cellule entre la colonne 1 (A) et 7 (G) et les lignes 3 et 30 règle automatiquement la largeur de la colonne la largeur par défaut des colonnes inactives est 5 à adapter

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column >= 1 And Target.Column <= 7 And Target.Row >= 3 And Target.Row <= 30 Then
Columns("A:G").ColumnWidth = 5
Me.Columns(Target.Column).EntireColumn.AutoFit
End If
End Sub

0