Worksheet_Deactivate en boucle, comment l’arrêter ?

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 !

pmfontaine

XLDnaute Occasionnel
Bonsoir,
J'ai quelque problème avec une macro événementielle, et j’espère que vous pourrez m'aider ?
Lorsque j'ai fait des modifications dans la Feuille "Feuille 1", je souhaite au moment de la quitter, réaliser une macro dans cette feuille.
Pour cela j'utilise une macro événementielle "Worksheet_Deactivate" au moment ou je quitte la feuille "GESTION CATEGORIE"
Code:
Private Sub Worksheet_Deactivate()
Dim FeuillePrecedente As String
FeuillePrecedente = ActiveSheet.Name
Sheets("Feuille 1").Select
    Range("A1:B2").Select
    Selection.ClearContents
Sheets(FeuillePrecedente).Select
End Sub
Le problème c'est que ça boucle en permanence et que je suis obliger de taper sur "Echap" pour stopper la boucle.
Est-ce que vous auriez une autre méthode ou est-ce que vous pourriez m'expliquer comment faire avec cette fonction ?
J'ai essayer avec "Worksheet_Activate" sur les autres feuilles, mais je suis arriver au même résultat, boucle en continue.
Merci d'avance pour votre aide.
Bien sur si je ne mets pas "Sheets(FeuillePrecedente).Select" ça marche, mais je ne peu jamais sortir de la feuille 1
Je joint un fichier ou j'ai tous simplifier au maximum, et dans ce cas ça fini par s’arrêter tous seul au bout de plusieurs boucles ?
Dans mon fichier de travail ça ne s’arrête pas.
Merci d'avance pour votre aide
 

Pièces jointes

Re : Worksheet_Deactivate en boucle, comment l’arrêter ?

Bonsoir,
C'est assez simple quand on connait la manip . . .
Cette ligne annule les événements
Application.EnableEvents = False
' ta macro ou select
' on réactive les événements avec True
Application.EnableEvents =True

Bruno
 
Re : Worksheet_Deactivate en boucle, comment l’arrêter ?

Merci laetitia90, merci Bruno,
Bruno, ta solution marche impeccable, comme tu dit c'est simple !
Mais quand on ne connait pas c'est pas évident de trouver.
Encore merci beaucoup pour votre aide
 
Re : Worksheet_Deactivate en boucle, comment l’arrêter ?

Bonsoir pmfontaine, Laetitia, Bruno,

C'est entre autres pour cela qu'en VBA on évite toujours les Select et Activate :

Code:
Private Sub Worksheet_Deactivate()
Sheets("Feuille 1").Range("A1:B2").ClearContents
End Sub
Edit : bien sûr si en "Feuille 1" il y a une macro Worksheet_Change, utiliser les Application.EnableEvents.

A+
 
Dernière édition:
- 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
3
Affichages
206
D
  • Question Question
Réponses
5
Affichages
207
Didierpasdoué
D
Retour