Empecher un event de s'executer

Le
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é d'encadrer l'affectation comme ceci :

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

Mais le script MonChamp_Change() s'excéute malgré tout
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stéphan DuQuébec
Le #5065431
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...



Stéphan DuQuébec
Le #5065421
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...





M41
Le #5394081
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



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...
Publicité
Poster une réponse
Anonyme