Execution de code non demandé

Résolu
TOUF57 Messages postés 35 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 8 septembre 2009 - 22 mai 2005 à 22:47
TOUF57 Messages postés 35 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 8 septembre 2009 - 23 mai 2005 à 09:22
Bonjour, et merci d'avance à ceux qui répondront



Quand j'execute:

listbox1.list(0,1)=.....

listbox1.list(0,2)=....

.....



Lors du premier listbox1.list le programme execute le code:

Sub listbox1_click.



Le problème est que je comprend pas comment faire pour ne pas executer
l'evenement listbox1_click, car celui ci modifie la valeur à affecter
dans listbox1.list(0,2).

2 réponses

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
23 mai 2005 à 04:55
Problème récurrent !!! C'est la base de programmation évenementielle (à savoir, bloquer les événements!) !!!



Il faut implémenter un "anti-récursif".



Déjà, il faut une variable globale. Si tu n'as qu'une feuille il faut
la déclarer hors de toute procédure/fonction, c'est à dire, de
préférence tout en haut du code de ta form. En revanche, si tu as
plusieurs forms, créer un "module" et met la déclaration dedans. Bref,
une variable globale quoi!



Public AntiRecursif As Bool '(Bool>True or False> Vrai/Faux => 1/0 => Binaire quoi!)

'ou alors As Long, c'est toi qui voit!



Ensuite, dans chaque procédure ou fonction tout au début :



Private Sub maProcedure (paramètre_bidule, machin, ...)

If AntiRecursif = True Then Exit Sub

AntiRecursif = True

...

tonCode

...


AntiRecursif = False


End Sub



Surtout, n'oublie pas de rétablir l'anti-recurrence finale (juste avant "End Sub" !!!).



Du coup, avant d'appeler tes listboxX, active l'anti-récurrence :




AntiRecursif = True


ListBox1.List(...)...




Enjoy




ScSami




(Si cela répond à ta question clique sur le bouton "Accepter la réponse" sur la barre en haut, merci)
3
TOUF57 Messages postés 35 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 8 septembre 2009
23 mai 2005 à 09:22
Merci beaucoup Scsami.
0
Rejoignez-nous