Macro sur selection onglet
Résolu
renoncule62
Messages postés
94
Statut
Membre
-
renoncule62 Messages postés 94 Statut Membre -
renoncule62 Messages postés 94 Statut Membre -
Bonjour,
Quelqu'un pourrait-il me donner la bonne syntaxe pour exécuter, en VBA, une macro lors de la sélection d'une feuille (onglet) de classeur.
pour donner ceci:
si feuil1 est sélectionnée alors => exécute macro 1
si feuil2 est sélectionnée alors => exécute macro 2
if this worsheet.select= ("feuil1") then.....?
en fait, dans le code vba, je dois reconnaitre quelle feuille est sélectionnée.
merci pour votre aide
Christophe
Quelqu'un pourrait-il me donner la bonne syntaxe pour exécuter, en VBA, une macro lors de la sélection d'une feuille (onglet) de classeur.
pour donner ceci:
si feuil1 est sélectionnée alors => exécute macro 1
si feuil2 est sélectionnée alors => exécute macro 2
if this worsheet.select= ("feuil1") then.....?
en fait, dans le code vba, je dois reconnaitre quelle feuille est sélectionnée.
merci pour votre aide
Christophe
5 réponses
-
Bonjour
la macro N est déclenchée quand tu sélectionnes la feuillePrivate Sub Worksheet_Activate() macroN End Sub
macro a placer dans le module feuille concerné et non dans module1 -
Merci Michel de t' être arrété sur mon poste. Effectivement de cette manière ça marche trés bien mais cela m'impose de mettre le script d'une macro conséquente dans chaque feuilles.
ce que j'ai c'est un bouton dans chaque feuilles qui execute une macro quasi identique avec une seule instruction diffèrente en fonction de la feuille sélectionnée.
Ce que je souhaiterais c'est d'avoir une macro dans laquelle on identifie la feuille sélectionnée avant de poursuivre.
je clic sur feuil1, la macro fait:si je suis dans feuil1 je fais ceci, si je suis dans feuil2 je fais cela, si je suis dans feuil3 je fais ça.
je clic sur feuil2, la macro fait:si je suis dans feuil1 je fais ceci, si je suis dans feuil2 je fais cela, si je suis dans feuil3 je fais ça.
je clic sur feuil3, la macro fait:si je suis dans feuil1 je fais ceci, si je suis dans feuil2 je fais cela, si je suis dans feuil3 je fais ça.
donc un module commun à tous le classeur qui s'executera en fonction de la feuille sélectionnée.
J'espère avoir été un peu plus précis dans ma question et que tu pourras toujours m'aider
Merci -
ok,
Combien as tu d'onglets ? -
Bonjour
Tu peux mettre une variable sur le nom de ta feuille :
Sub feuilles() Dim feuille As String feuille = ActiveSheet.Name Select Case feuille Case "Feuil1" MsgBox "hello feuille 1" Case "Feuil2" MsgBox "hello feuille 2" Case "Feuil3" ... Case "Feuil4" ... End Select End Sub--
m@rina
- "Sur le forum bureautique, on pose des questions concernant la bureautique..."
- "Ah bon ???" -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci Marina et Michel , mon "problème" est maintenant résolu, j'ai mis un Call feuilles en Worksheet_Activate() de chaque feuilles et ma macro commune à tous les onglets dans un module.
merci