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

L

Ludo

Guest
Dans la fonction Worksheet_Change , j'ai mis plusieurs instructions à faire dans certains cas.
Le problème c'est que maintenant j'y passe sans arret dès que je modifie ma feuille Excel. Y a t-il un moyen de désactiver temporairement cette fonction(du genre Application.Worksheet_Change.active = false)?
 
Bonjour

A ma connaissance, non. Mais tu pourrais filtrer si la 'target ' doit passer toutes la procédure ou si elle doit quitter immidiatement.

J'ai aussi souvent le même problème avec mes projets. J'essaie de faire autrement la plus part du temps.
 
bonsoir le forum, bonsoir hellboy,
puis je me permettre une petit question mon cher hellboy?
oui !
merci
comment fais tu pour que le lien vers la charte soit un texte très sympa et non pas l'url de la charte ?
ce n'est pas le but de ce fil, je sais et je m'en excuse mais ton savoir faire m'interesse.
merci d'avance
@ plus

Fait que chaque heure de ta vie soit un souvenir pour demain;
 
jmps écrit:
Bonsoir Ludo, Hellboy,

Moi j'utilise un Booléen déclaré en public pour éviter les évènements en cascade. C'est mon maître Thierry qui m'a appris ça... 😉

Je vous poste un exemple si ça vous dit.
Salut
Quand on utilise des événements du style WorkSheet_Change, on se trouve souvent confronté à un auto-bouclage : WorkSheet_Change modifie la feuille, ce qui lance WorkSheet_Change qui modifie la feuille, qui lance WorkSheet_Change ...
Pour éviter ça, j'utilise une astuce dangereuse, qui implique obligatoirement une gestion des erreurs avec sortie unique de la macro
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Err_Worksheet_Change

Application.EnableEvents = False
'Traitement de ta feuille

Sortie_Worksheet_Change:
'Passage obligatoire, pour remettre en action le traitement des événements
Application.EnableEvents = True
Exit Sub
Err_Worksheet_Change:
MsgBox (Err.Number & ' - ' & Err.Description)
Resume Sortie_Worksheet_Change
End Sub
Avant, j'utilisai une variable booléenne, testée en début de macro, mais ça lance obligatoirement l'événement, et sur change, tu peux t'en sortir, mais pas avec SelectionChange
A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
509
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
16
Affichages
507
Réponses
16
Affichages
468
Réponses
5
Affichages
295
Réponses
6
Affichages
644
Retour