Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro pour largeur de colonne

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

alfazoulou

XLDnaute Occasionnel
Bonjour.
voilà mon problème:
J'ai plusieurs feuilles dont je voudrais que les largeurs de colonnes soient identiques de feuille à feuille.
Pour éviter le travail fastidieux d'agir sur chaque colonne de chaque feuille, j'ai fait une macro sur une d'elle et je l'applique pour chaque feuille.
Mais ça marche pas.
en fait les largeurs ne sont pat respectées ex 8,43 au lieu de 44,29
quelqu'un peut il m'expliquer pourquoi et me donner la solution.
Sinon je me taperais mes 70 colonnes une à une.
Sheets("toto1").Select
Columns("A:A").Select
Selection.ColumnWidth = 4
Columns("B:B").Select
Selection.ColumnWidth = 44.29
Columns("C:C").Select
Selection.ColumnWidth = 8.43
Columns("D😀").Select
Selection.ColumnWidth = 8.46
Columns("E:E").Select
Selection.ColumnWidth = 9.14
Columns("F:F").Select
Selection.ColumnWidth = 9
Columns("G:G").Select
Selection.ColumnWidth = 11.43
Columns("H:H").Select
Selection.ColumnWidth = 2.86

Sheets("toto2").Select
Columns("A:A").Select
Selection.ColumnWidth = 4
Columns("B:B").Select
Selection.ColumnWidth = 44.29
Columns("C:C").Select
Selection.ColumnWidth = 8.43
Columns("D😀").Select
Selection.ColumnWidth = 8.46
Columns("E:E").Select
Selection.ColumnWidth = 9.14
Columns("F:F").Select
Selection.ColumnWidth = 9
Columns("G:G").Select
Selection.ColumnWidth = 11.43
Columns("H:H").Select
Selection.ColumnWidth = 2.86
etc...
merci à tous
 
Re : macro pour largeur de colonne

Bonjour AlfZoulou,

Essaie avec la macro suivante:

Code:
Sub SetLargeursColonnes()
    Dim sh As Worksheet
    For Each sh In Sheets(Array("toto1", "toto2"))
        With sh
            .Columns(1).ColumnWidth = 4
            .Columns(2).ColumnWidth = 44.29
            .Columns(3).ColumnWidth = 8.43
            .Columns(4).ColumnWidth = 8.46
            .Columns(5).ColumnWidth = 9.14
            .Columns(6).ColumnWidth = 7
            .Columns(7).ColumnWidth = 11.43
            .Columns(8).ColumnWidth = 2.86
        End With
    Next
End Sub

Sachant qu'excel arrondi au pixel le plus proche: 2,80 donnera 2,86 soit 25 Pixels

A bientôt
A bientôt
 
Re : macro pour largeur de colonne

Bonjour AZ

salut Gérard 🙂
PS, c'est le sémaphore de Bri..., ton nouvel avatar?

Autre réponse, trouvée sur un autre forum

Code:
Sub memes_colonnes()
Sheets.Select
Columns("A:A").ColumnWidth = 4
Columns("B:B").ColumnWidth = 44.29
Columns("C:C").ColumnWidth = 8.43
Columns("D:D").ColumnWidth = 8.46
Columns("E:E").ColumnWidth = 9.14
Columns("F:F").ColumnWidth = 9
Columns("G:G").ColumnWidth = 11.43
Columns("H:H").ColumnWidth = 2.86
Sheets("Feuil1").Select
End Sub
 
Re : macro pour largeur de colonne

Bonsoir,

Avec beaucoup de colonnes, peut être quelque chose comme cela...

(là c'est pour 3 feuilles et 8 colonnes)

Code:
Option Explicit

Sub essai()
Dim X As Variant
Dim Cpt As Long
Dim Sht
X = Array(4, 44.29, 8.43, 8.46, 9.14, 9, 11.43, 2.86)
For Sht = 1 To 3
    Sheets(Sht).Activate
    For Cpt = 0 To 7
        Range("A:A").Offset(0, Cpt).ColumnWidth = X(Cpt)
    Next Cpt
Next Sht
End Sub

Cordialement

Si les feuilles ne se suivent pas, tu peux faire une boucle For each... avec un array sur les noms de feuilles comme l'a fait Hasco au message #2... au lieu de For Sht =1 to 3
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
2 K
Réponses
7
Affichages
1 K
Réponses
11
Affichages
3 K
Réponses
0
Affichages
1 K
Réponses
12
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…