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 :)

6 réponses

f894009 Messages postés 16723 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 octobre 2022 1 660
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
f894009 Messages postés 16723 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 octobre 2022 1 660
27 juin 2014 à 14:07
Bonjour,

certaines de mes colonnes deviennent trop petites en s'ajustant.
Est-ce toujours les memes ??????
0
pzyko Messages postés 34 Date d'inscription vendredi 27 juin 2014 Statut Membre Dernière intervention 8 août 2014 1
27 juin 2014 à 14:32
Non ce ne sont pas forcément les mêmes. En fait, ce que j'aimerai trouver, c'est une écriture qui m'évite de refaire un si pour chaque colonne. Il faudrait que cette écriture me mette automatiquement une largeur de 10 aux colonnes qui sont moins larges
0
f894009 Messages postés 16723 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 octobre 2022 1 660
27 juin 2014 à 14:52
Re,

Ben, y a pas d'autre moyen, a part faire une boucle de A a K pour tester la largeur colonne apres l'autofit. Le code serait moins long, mais le principe est le meme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pzyko Messages postés 34 Date d'inscription vendredi 27 juin 2014 Statut Membre Dernière intervention 8 août 2014 1
27 juin 2014 à 15:02
C'est justement ce que j'aimerai faire mais je ne sais pas comment créer cette boucle. J'ai essayé en regardant sur internet mais je n'y arrive pas.
0
pzyko Messages postés 34 Date d'inscription vendredi 27 juin 2014 Statut Membre Dernière intervention 8 août 2014 1
27 juin 2014 à 15:42
Merci beaucoup c'est exactement ce que je voulais !

A moi d'essayer de comprendre maintenant ^^
0