Macro sur plusieurs feuilles ne fonctionne pas
Résolu
DidsCraft
Messages postés
30
Statut
Membre
-
crapoulou Messages postés 42844 Statut Modérateur, Contributeur sécurité -
crapoulou Messages postés 42844 Statut Modérateur, Contributeur sécurité -
Bonjour,
Je me suis déjà servi de boucle For Each pour l’exécution d'une macro sur plusieurs feuilles mais la je ne comprend pas pourquoi quand je la lance la macro est exécutée seulement sur la feuille active. Je me dis qu'il y a peu être une erreur que je n'arrive plus a voir a force d'avoir le nez dessus. Si jamais vous voyez quelques chose merci bien
La boucle sert à masquer certaines colonnes et en afficher une autre ou l'inverse selon qu'on ouvre le fichier en lecture seul ou non.
Je me suis déjà servi de boucle For Each pour l’exécution d'une macro sur plusieurs feuilles mais la je ne comprend pas pourquoi quand je la lance la macro est exécutée seulement sur la feuille active. Je me dis qu'il y a peu être une erreur que je n'arrive plus a voir a force d'avoir le nez dessus. Si jamais vous voyez quelques chose merci bien
La boucle sert à masquer certaines colonnes et en afficher une autre ou l'inverse selon qu'on ouvre le fichier en lecture seul ou non.
Sub TestHiddenCol()
Dim fl As Worksheet
For Each fl In Worksheets
If ThisWorkbook.ReadOnly Then
Range("S:AQ").EntireColumn.Hidden = False
Range("AR:AR").EntireColumn.Hidden = True
Else
Range("S:AQ").EntireColumn.Hidden = True
Range("AR:AR").EntireColumn.Hidden = False
End If
Range("A1").Select
Next fl
Sheets("Janv").Select
End Sub
A voir également:
- Macro sur plusieurs feuilles ne fonctionne pas
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment faire un livret avec des feuilles a4 - Guide
- Regrouper plusieurs feuilles excel en une seule - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
3 réponses
Bonjour,
Ton souci est sur le fait que la commande qui masque les ligne se fait sur la feuille activée. Il faut préciser sur quelle feuille le faire :
Ton souci est sur le fait que la commande qui masque les ligne se fait sur la feuille activée. Il faut préciser sur quelle feuille le faire :
Sub TestHiddenCol()
Dim fl As Worksheet
For Each fl In Worksheets
If ThisWorkbook.ReadOnly Then
Sheets(fl.Name).Range("S:AQ").EntireColumn.Hidden = False
Sheets(fl.Name).Range("AR:AR").EntireColumn.Hidden = True
Else
Sheets(fl.Name).Range("S:AQ").EntireColumn.Hidden = True
Sheets(fl.Name).Range("AR:AR").EntireColumn.Hidden = False
End If
Sheets(fl.Name).Range("A1").Select
Next fl
Sheets("Janv").Select
End Sub
Bonjour
On pourrait s'épargner une boucle...
On pourrait s'épargner une boucle...
Option Explicit
'-------------------------------------------------------------
Sub testhiddencol()
Sheets(Array("janv", "fevr", "mars")).Select
If ThisWorkbook.ReadOnly Then
Columns("S:AQ").Hidden = False
Columns("AR").Hidden = True
Else
Columns("S:AQ").Hidden = True
Columns("AR").Hidden = False
End If
Sheets("Janv").Select
End Sub
Tout simplement ????
Merci Crapoulou pour ton aide, encore une fois je me coucherais moins bête.
Je testerais Michel mais il me semble que lors de mes essais la ce code ne s’exécutait que sur la feuille active au démarrage. Mais je n’en suis pas sûr donc je testerais. Merci à vous deux
Bonne journée
Merci Crapoulou pour ton aide, encore une fois je me coucherais moins bête.
Je testerais Michel mais il me semble que lors de mes essais la ce code ne s’exécutait que sur la feuille active au démarrage. Mais je n’en suis pas sûr donc je testerais. Merci à vous deux
Bonne journée