Besoin d'aide pour procédure événementielle

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 !

alfazoulou

XLDnaute Occasionnel
Bonjour le forum.
Faisant suite à une autre discussion pour laquelle je n’ai pas eu de réponse, j’espère que vous pourrez me venir en aide aujourd’hui.
Voici mon problème.
J’ai une procédure événementielle (Worksheet change) qui ne fonctionne plus dés qu’une autre macro est exécutée.
Sauf si on relance cette procédure par le même code associé à un bouton.
Petit exemple dans le fichier joint.
Merci d’avance à tous.
 

Pièces jointes

Re : Besoin d'aide pour procédure événementielle

Bonjour alfazoulou,

quand tu fais un

Application.EnableEvents = False


vérifie bien que tu fais également un

Application.EnableEvents = True

et pas dans un If qui ne s'execute pas à chaque fois...

bonjour tototiti 2008

Voici le code ci dessous, j'ai essayé en plaçant le Application.EnableEvents = True avant ou après le end if mais ça ne change rien.


Private Sub Worksheet_Change(ByVal Target As Range)
Dim P As Range

Application.EnableEvents = False

If Application.CountBlank(Range("B1:B53")) Then
For Each P In Range("B1:B53").SpecialCells(xlCellTypeBlanks).Areas

Range("B65").Value = P.Count
Next P


End If
Application.EnableEvents = True
End Sub
 
Re : Besoin d'aide pour procédure événementielle

Je crois avoir compris qu'il faut mettre aussi
Application.EnableEvents = False et Application.EnableEvents = True
dans la macro qui interrompt l'exécution de ma procédure événementielle.
Est ce que cela signifie que je doit mettre ces instructions dans toutes les macros qui peuvent être lancées quand ma feuille est ouverte??
 
Re : Besoin d'aide pour procédure événementielle

c'est normal que ça ne change rien, ça n'est jamais exécuté...
comme tu as désactivé les évènements Worksheet_Change ne s'execute plus, il faut que tu fasses une macro avec juste la ligne :

Application.EnableEvents = True

et que tu l'éxecutes
 
Re : Besoin d'aide pour procédure événementielle

c'est normal que ça ne change rien, ça n'est jamais exécuté...
comme tu as désactivé les évènements Worksheet_Change ne s'execute plus, il faut que tu fasses une macro avec juste la ligne :

Application.EnableEvents = True

et que tu l'éxecutes

tu veux dire que je doit ajouter Application.EnableEvents = True à la fin de toute macro qui peut s'exécuter pendant que ma feuille est active??😕
 
Re : Besoin d'aide pour procédure événementielle

crée cette macro là :

Code:
sub toto()
Application.EnableEvents = True
end sub

et exécute là une fois.

à partir de là, ton évènement Worksheet_change devrait s'éxecuter de nouveau lorsque tu modifies le contenu d'une cellule de la feuille
 
Re : Besoin d'aide pour procédure événementielle

crée cette macro là :

Code:
sub toto()
Application.EnableEvents = True
end sub

et exécute là une fois.

à partir de là, ton évènement Worksheet_change devrait s'éxecuter de nouveau lorsque tu modifies le contenu d'une cellule de la feuille

mais là je suis obligé de lancer cette macro par l'intermédiaire d'un bouton?
 
Re : Besoin d'aide pour procédure événementielle

je ne vois pas le rapport....
cliques dans une ligne de la macro toto
appuyes sur F5
si tu as bien modifié Worksheet_Change comme tu l'as montré plus haut, tu ne devrais plus avoir de soucis de procédures évènementielles qui ne se lancent plus.

essaye en plaçant un point d'arrêt au début de Worksheet_change et modifie une cellule de la feuille pour voir si ça s'execute.
 
Re : Besoin d'aide pour procédure événementielle

je ne vois pas le rapport....
cliques dans une ligne de la macro toto
appuyes sur F5
si tu as bien modifié Worksheet_Change comme tu l'as montré plus haut, tu ne devrais plus avoir de soucis de procédures évènementielles qui ne se lancent plus.

essaye en plaçant un point d'arrêt au début de Worksheet_change et modifie une cellule de la feuille pour voir si ça s'execute.

effectivement en faisant un Application.EnableEvents = True ça marche mais ma question c'est faut il mettre cette instruction à la fin de la macro qui fait planter la procédure événementielle, si oui n'y aura il pas d'autres conséquences ?
 
- 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
Retour