Bonjour à tous,
je suis nouveau sur le forum que je trouve très bien. Il m'a dans le passé beaucoup aidé mais aujourd'hui je suis coincé et j'aurais besoin de votre aide.
J'ai un classeur excel avec un onglet par personne.
Chaque onglet est organisé de manière identique avec 1 colonne = 1 jour.
Lorsque le jour inscrit en ligne 2 est inférieur à la date du jour, alors il s'inscrit en ligne 31 le texte "HIDE".
J'ai créé une macro (avec l'aide du forum) pour que soit masqué les colonnes dans lesquelles est inscrit HIDE en ligne 31.
Jusque là tout va bien. Le problème est que lorsque je souhaite appliquer cette macro automatiquement sur toutes les feuilles, j'utilise le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Dim i As Integer For i = 3 To 250 If Cells(31, i) = "Hide" Then Columns(z).Hidden = True Else: Columns(i).Hidden = False End If Next i
Mais rien ne se passe sauf sur la page qui est active au moment du lancement de la macro. Finalement je ne parviens pas à passer d'une feuille à une autre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Application.ScreenUpdating = False Dim sht As Worksheet For Each sht In Worksheets Dim i As Integer For i = 3 To 250 If Cells(31, i) = "Hide" Then Columns(i).Hidden = True Else: Columns(i).Hidden = False End If Next i MsgBox sh.Name Application.ScreenUpdating = True Next sht
Quelqu'un aurait-il une solution ?
Partager