VBA excel modifier la largeur des colonnes

Résolu/Fermé
pzyko Messages postés 34 Date d'inscription vendredi 27 juin 2014 Statut Membre Dernière intervention 8 août 2014 - 27 juin 2014 à 13:36
pzyko Messages postés 34 Date d'inscription vendredi 27 juin 2014 Statut Membre Dernière intervention 8 août 2014 - 27 juin 2014 à 15:42
Bonjour,

je suis débutant en VBA et je cherche à faire en sorte que la largeur de mes colonnes s'ajuste automatiquement en fonction de la taille du texte contenu dans les cellules de ces colonnes. Toutefois, j'aimerai que la largeur minimale de mes colonnes soit de 10. En effet, certaines de mes colonnes deviennent trop petites en s'ajustant.

Pour cela, j'ai créé ceci :

Sheets("Invisible").Columns("A:K").AutoFit

If Sheets("Invisible").Columns("A:A").ColumnWidth < 10 Then

Sheets("Invisible").Columns("A:A").ColumnWidth = 10

End If

If Sheets("Invisible").Columns("B:B").ColumnWidth < 10 Then

Sheets("Invisible").Columns("B:B").ColumnWidth = 10

End If

If Sheets("Invisible").Columns("C:C").ColumnWidth < 10 Then

Sheets("Invisible").Columns("C:C").ColumnWidth = 10

End If

Le problème, c'est que j'ai fait cela jusqu'à la colonne K et je devrais surement le faire avec plus de colonnes. Par conséquent, je me demande s'il n'est pas possible de ne pas réécrire le même code pour chaque colonne.

Je vous remercie pour votre aide :)
A voir également:

6 réponses

f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
27 juin 2014 à 15:29
Re,
une facon de faire:

Sub Width_Columns()
Dim TCol, Point, FTCol
Application.ScreenUpdating = False
TCol = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
FTCol = UBound(TCol)
With Sheets("Invisible")
.Columns("A:K").AutoFit
For Point = 0 To FTCol
If .Columns(TCol(Point)).ColumnWidth < 10 Then
.Columns(TCol(Point)).ColumnWidth = 10
End If
Next Point
End With
Application.ScreenUpdating = True
End Sub
1