Uniformiser largeur de colonnes sur X feuilles

bonjour, je cherche à uniformiser mes colonnes sur une cinquantaine de feuilles. Pour ce faire j'ai bricolé un bout de code mais ça ne marche pas. Seule la première feuille est modifiée.

J'ai utilisé comme code :

Private Sub CommandButton21_Click()

Dim fe As Worksheet

For Each fe In ThisWorkbook.Worksheets

fe.Activate

Columns("A:A").ColumnWidth = 1

Columns("B:B").ColumnWidth = 5

Columns("C:C").ColumnWidth = 27

Columns("D:D").ColumnWidth = 127

Columns("E:E").ColumnWidth = 30

Columns("F:F").ColumnWidth = 5

Columns("G:G").ColumnWidth = 5

Next fe

Sheets("A").Visible = True

Sheets("A").Select

End Sub

pouvez-vous m'aider ? Merci d'avance

Bonjour,

Essaie comme cela :

Private Sub CommandButton21_Click()
Dim fe As Worksheet
    For Each fe In ThisWorkbook.Worksheets
        With fe
            .Columns("A:A").ColumnWidth = 1
            .Columns("B:B").ColumnWidth = 5
            .Columns("C:C").ColumnWidth = 27
            .Columns("D:D").ColumnWidth = 127
            .Columns("E:E").ColumnWidth = 30
            .Columns("F:F").ColumnWidth = 5
            .Columns("G:G").ColumnWidth = 5
        End With
    Next fe
    Sheets("A").Visible = True
    Sheets("A").Select
End Sub

A+

ça ne marche pas, ça buggue au niveau de la première colonne.

Je comprends pas, j'ai essayé d'affiche les têtes de colonnes à chaque fois, en pensant que ça venait de là, mais que neni....

j'attends vos lumères.

merci

Bonjour, bonjour !

C'est normal si le code n'est pas situé dans un module normal car activer une feuille ne sert à rien,

il est tellement plus simple de préciser classeur & feuille devant la colonne ou d'utiliser l'instruction With (cf aide VBA) !

Edit : je n'avais pas encore vu la réponse de frangy …

ça ne marche toujours pas. J'ai essayé de mettre le code dans un module et d'utiliser la proposition de FRangy mais c'est toujours pareil.

désolé d'insister !!!

Bonjour,

A tester.

Option Explicit
Private Sub CommandButton21_Click()
Dim ws As Worksheet

    Application.ScreenUpdating = False

    For Each ws In ActiveWorkbook.Worksheets
        With ws
            .[A1].ColumnWidth = 1
            .[B1,F1,G1].ColumnWidth = 5
            .[C1].ColumnWidth = 27
            .[D1].ColumnWidth = 127
            .[E1].ColumnWidth = 30
        End With
    Next ws

    With Worksheets("A")
        .Visible = True
        .Select
    End With

End Sub

toujours pas je bloque sur la colonne "A"

Sans une présentation claire et exhaustive … Nous n'avons pas de pouvoirs divinatoires !

à mon humble niveau, je ne vois pas comment être plus clair et exhaustif.

merci quand même.

à mon humble niveau, je ne vois pas comment être plus clair et exhaustif.

merci quand même.

En règle générale, nous effectuons un test sur un classeur avant de proposer une solution.

Si le demandeur a la bonne idée de joindre un fichier à son post, il nous est facile de réaliser ce test.

Dans la cas contraire, nous le faisons avec un classeur vierge, ce qui ne colle pas forcement avec la réalité.

A+

Marc L a écrit :

C'est normal si le code n'est pas situé dans un module normal

Faut-il requérir une cartomancienne pour connaître la réponse ?‼

Le code proposé fonctionne aussi bien entendu de mon côté : à tester alors du vôtre dans un nouveau classeur …

Rechercher des sujets similaires à "uniformiser largeur colonnes feuilles"