VBA excel modifier la largeur des colonnes

Résolu
pzyko Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
pzyko Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -
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 :)

6 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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