VBA excel modifier la largeur des colonnes

Résolu
pzyko Messages postés 35 Statut Membre -  
pzyko Messages postés 35 Statut Membre -
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

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