Macro sur plusieurs feuilles ne fonctionne pas
Résolu
DidsCraft
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
crapoulou Messages postés 28195 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
crapoulou Messages postés 28195 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
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
- Jitbit macro recorder - Télécharger - Confidentialité
- Bruler des feuilles de laurier - Guide
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