VBA : ajuster des colonnes
Résolu
VBA
-
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
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 ?
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:
- Ajuster automatiquement largeur colonne excel vba
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Formule somme excel colonne - Guide
- Liste déroulante excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
3 réponses
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
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
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
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