Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA lancer macro si feuille sélectionnée

3 réponses
Avatar
Solange
Bonjour à tous
Quelqu'un peut-il me dire comment je dois écrire ma macro sachant que :
J'ai 2 feuilles (feuil1 + feuil2) je suis sur le feuil1 et dès que je clique
ou j'active la feuil2 celle-ci doit me lancer une macro que j'ai déjà créée
(test1) où dois-je sauvegarder ce (test1)?
2ème question si j'active la feuil2 j'aimerai (si ce n'est pas lancer test1)
activer une Userform que j'ai aussi déjà préparée...comment la lancer lorsque
je clique sur la feuil2 ?
je ne sais pas comment saisir tout cela...
D'avance merci

3 réponses

Avatar
MichDenis
Bonjour Solange,

Tu ouvres le code module de la feuil2, dans la liste déroulante gauche du haut de la feuille, tu sélectionnes Worksheet et dans la
liste déroulante de droite, tu sélectionnes "Activate"

Tu obtiendras :
'----------------------
Private Sub Worksheet_Activate()

'Entre ces lignes , tu appelles ta procédure (macro)
' elle va s'exécuter à chaque fois que tu vas activer la feuil2
NomDeMaMacro

'Si tu veux ouvrir un formulaire

Userform1.Show

End Sub
'----------------------


Salutations!


"Solange" a écrit dans le message de news:
Bonjour à tous
Quelqu'un peut-il me dire comment je dois écrire ma macro sachant que :
J'ai 2 feuilles (feuil1 + feuil2) je suis sur le feuil1 et dès que je clique
ou j'active la feuil2 celle-ci doit me lancer une macro que j'ai déjà créée
(test1) où dois-je sauvegarder ce (test1)?
2ème question si j'active la feuil2 j'aimerai (si ce n'est pas lancer test1)
activer une Userform que j'ai aussi déjà préparée...comment la lancer lorsque
je clique sur la feuil2 ?
je ne sais pas comment saisir tout cela...
D'avance merci
Avatar
Jacques93
Bonjour,

Alt+F11, puis dans VBA, dans le code de Feuil2

Private Sub Worksheet_Activate()
Test1
UserForm1.Show
End Sub

Private Sub Test1()
MsgBox "Feuille2 activée"
End Sub

Solange wrote:
Bonjour à tous
Quelqu'un peut-il me dire comment je dois écrire ma macro sachant que :
J'ai 2 feuilles (feuil1 + feuil2) je suis sur le feuil1 et dès que je clique
ou j'active la feuil2 celle-ci doit me lancer une macro que j'ai déjà créée
(test1) où dois-je sauvegarder ce (test1)?
2ème question si j'active la feuil2 j'aimerai (si ce n'est pas lancer test1)
activer une Userform que j'ai aussi déjà préparée...comment la lancer lorsque
je clique sur la feuil2 ?
je ne sais pas comment saisir tout cela...
D'avance merci



--
Cordialement,

Jacques.

Avatar
isabelle
bonjour Solange,

si macro1 a été enregistré dans le perso,

Private Sub Worksheet_Activate()
Application.Run ("Perso.xls!macro1")
End Sub

isabelle

Bonjour à tous
Quelqu'un peut-il me dire comment je dois écrire ma macro sachant que :
J'ai 2 feuilles (feuil1 + feuil2) je suis sur le feuil1 et dès que je clique
ou j'active la feuil2 celle-ci doit me lancer une macro que j'ai déjà créée
(test1) où dois-je sauvegarder ce (test1)?
2ème question si j'active la feuil2 j'aimerai (si ce n'est pas lancer test1)
activer une Userform que j'ai aussi déjà préparée...comment la lancer lorsque
je clique sur la feuil2 ?
je ne sais pas comment saisir tout cela...
D'avance merci