Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

execution automatique macro si changement de feuille

  • Initiateur de la discussion Initiateur de la discussion excelo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

excelo

XLDnaute Occasionnel
Bonjour,
Voici mon problème:
j'ai un fichier qui se nomme test.xls, qui comporte 3 feuilles, "feuil1", "feuil2" et "feuil3".
Je souhaiterai que lorsque je suis sur la "feuil2" et que je clique sur la "feuil1", la macro "toto" s'exécute automatiquement.
Merci pour votre aide,
Excelo
 
Re : execution automatique macro si changement de feuille

Bonjour excelo,

Dans le code de "feuil3", tu insères ces instructions :
VB:
Private Sub Worksheet_Activate()
    MaMacro
End Sub

Sub MaMacro()
    .
    .
    Mes instructions
    .
End Sub

Ceci fonctionnera dès que tu selectionneras la feuil3.

A+
 
Re : execution automatique macro si changement de feuille

Bonjour Fred0o,
Merci pour ton aide, je viens de paramétrer la macro comme suite à tes instructions et je ne comprends pas ce que j'ai mal fait, si joint le code que j'ai rédigé :

Private Sub Worksheet_Activate()
Application.Run "tri"
End Sub

Sub tri()
Sheets("base de donné salariés").Select
Columns("B:M").Select
Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("E2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal

End Sub

Merci pour votre aide
 
Re : execution automatique macro si changement de feuille

Bonjour Charlette63,
j'ai modifié pour voir la macro sans "Application.Run" et ça n'a ne marche pas non plus,
Quelqu'un aurait une idée?
Merci pour votre aide
 
j'ai aussi des macros qui sont appelées par "Call",

ça ne coute rien d'essayer: donc Call tri


au passage, je profite de ton post, une petite explication dans la façon d'appeler une macro
merci

cordialement
 
Re : Re: execution automatique macro si changement de feuille

bonjour excelo, charette,

Voici une modification du code qui fonctionne chez moi :
VB:
Private Sub Worksheet_Activate()
    tri
End Sub

Sub tri()
    Dim sh As Worksheet
    Set sh = Sheets("base de donné salariés")
    sh.Columns("B:M").Sort Key1:=sh.Range("C2"), Order1:=xlAscending, Key2:=sh.Range("E2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal
End Sub

En fait, comme on lance la macro à partir de la feuille feuil3, il faut toujours faire référence dans les instructions à la feuille "base de donné salariés" pour la suite des instruction, d'où la variable sh.

A+
 
Re : Re: execution automatique macro si changement de feuille

re-bonjour,

Pour répondre à la question de charette63,
au passage, je profite de ton post, une petite explication dans la façon d'appeler une macro
voici comment lancer une procedure à partir d'une autre procedure :
A noter que l'instruction Call est facultative. Si on ne l'utilise pas et que l'instruction appelée contient des arguments, il ne faut pas les placer entre parenthèses.

A+
 
Re : execution automatique macro si changement de feuille

Bonjour le fil, bonjour le forum,

Je n'apporte rien de plus qu problème d'Excelo mais c'est pour répondre à Charette.
Quand dans un composant Feuil ou un composant Userform on veut faire appel à une procédure contenue dans ce même composant le mot clé Call (+ le nom de la procédure) est recommandé même si comme le montre Fred0o Call peut être omis.
Idem si la procédure se trouve dans un module le mot clé Call peut être omis... Mais pour appeler une procédure dans un module, je préfère taper le nom du module suivi d'un point (module1. par exemple) et VBA me propose la liste des procédures contenues dans ce module. Ça évite les fautes de frappe et aussi de confondre deux procédures portant le même nom dans deux modules différents...

[Édition]
Mort de rire Fred0o nos posts se sont croisé...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
  • Question Question
Réponses
5
Affichages
247
Didierpasdoué
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…