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

Comment lancer une macro en quittant un onglet ?

  • Initiateur de la discussion Initiateur de la discussion emarchad
  • 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 !

emarchad

XLDnaute Nouveau
Bonjour,

Je souhaite exécuter automatiquement une macro dès que l'utilisateur change ou quitte un onglet dans un classeur excel : comment faire ?

Comment lancer également cette macro dès qu'un filtre est activé ?

Merci d'avance pour vos réponses
 
Bonjour Emarchad, bonjour le forum,

Pour lancer une macro en quittant un onglet tu as la macro événementielle Deactivate à placer dans VBE dans l'onglet correspondant. Exemple :

Private Sub Worksheet_Deactivate()
MsgBox 'coucou' 'remplace par le code de ta macro
End Sub

Pour la lancer à partir d'un filtre je ne sais pas...
 
J'ai cependant un problème qui est le suivant :
c'est que la macro exécutée tourne sans arrêt :
quel est le problème

Voilà ma macro deactivate dans la partie Worksheet de mon onglet :

Private Sub Worksheet_Deactivate()
Application.Run ''synthese-evaluation-tendances.xls'!copie_vers_data'
End Sub

et voilà la macro exécutée :

Sub copie_vers_data()
'
' copie_vers_data Macro
' Sheets('R_Stat_evaluation_export').Select
Columns('A:S').Select
Selection.Copy
Sheets('DATA').Select
Columns('A:S').Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
 
Bonjour,

Fais ceci :

Macro à placer dans la WORKSHEET de ton onglet :
Code:
Private Sub Worksheet_Deactivate()
Call copie_vers_data
End Sub
Macro à placer dans un module :
Code:
Sub copie_vers_data()
Application.ScreenUpdating = False
Sheets('R_Stat_evaluation_export').Activate
Columns('A').Copy
With Sheets('DATA')
    .Columns('A').PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
With Application
    .CutCopyMode = False
    .ScreenUpdating = True
End With
End Sub

Bon travail

😉
 
- 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

Réponses
4
Affichages
377
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…