Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Empecher un event de s'executer

3 réponses
Avatar
pierre.watelet
Comment faire pour que l'action "MonChamp_Change()" ne s'execute pas
lors de la modification de la valeur de MoChamp par programmation ?

J'ai tent=E9 d'encadrer l'affectation comme ceci :

Application.EnableEvents =3D False
MonChamp =3D 99999
Application.EnableEvents =3D True

Mais le script MonChamp_Change() s'exc=E9ute malgr=E9 tout...

3 réponses

Avatar
Stéphan DuQuébec
Bizarre, parce que c'est exactement ce qu'il faut.

Je te conseille d'y aler en "pas à pas" avec une répétition de commmande F*
pour voir s'il n'y aurait pas un autre changement qui amènerait le
déclenchement de l'événement Sheet_Change en aval de la commande True de
EnableEvents.

Ciao !


Comment faire pour que l'action "MonChamp_Change()" ne s'execute pas
lors de la modification de la valeur de MoChamp par programmation ?

J'ai tenté d'encadrer l'affectation comme ceci :

Application.EnableEvents = False
MonChamp = 99999
Application.EnableEvents = True

Mais le script MonChamp_Change() s'excéute malgré tout...



Avatar
Stéphan DuQuébec
COMMANDE F8 ET F*.......



Bizarre, parce que c'est exactement ce qu'il faut.

Je te conseille d'y aler en "pas à pas" avec une répétition de commmande F*
pour voir s'il n'y aurait pas un autre changement qui amènerait le
déclenchement de l'événement Sheet_Change en aval de la commande True de
EnableEvents.

Ciao !


Comment faire pour que l'action "MonChamp_Change()" ne s'execute pas
lors de la modification de la valeur de MoChamp par programmation ?

J'ai tenté d'encadrer l'affectation comme ceci :

Application.EnableEvents = False
MonChamp = 99999
Application.EnableEvents = True

Mais le script MonChamp_Change() s'excéute malgré tout...





Avatar
M41
Bonjour

J'ai été confronté au même problème. La solution déminitive
que j'ai adoptée consiste à laisser de côté EnableEvents et
d'utiliser une variable de contrôle programmée. La méthode
a aussi l'avantage de laisser ..._Change s'exécuter quand
c'est nécessaire (mais on pourrait aussi utiliser dans ce cas un
Sub MonChampChange () comme dans l'exemple)


'en tête du module
'P pourrait être une table de vérité pour des gestion complexes P (0 To 10)
Private Dim P as boolean


Private Sub X ()
P=True
MonChamp.Value = "blablabla"
MonChampChange
P= false 'ne pas oublier aussi si un On Error Goto...
End Sub

Private Sub MonChamp_Change()
If P then exit sub
..............................
MonChampChange
End Sub

Private Sub MonChampChange()
'si conséquences corrolaires sinon inutile
..............................
End Sub

Cordialement

M41


a écrit dans le message de news:

Comment faire pour que l'action "MonChamp_Change()" ne s'execute pas
lors de la modification de la valeur de MoChamp par programmation ?

J'ai tenté d'encadrer l'affectation comme ceci :

Application.EnableEvents = False
MonChamp = 99999
Application.EnableEvents = True

Mais le script MonChamp_Change() s'excéute malgré tout...