Déclencher un évènement lorsq'une action est effectuée un certain nombre de fois

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 324 fois - Téléchargée 42 fois

Contenu du snippet

Par exemple, vous avez un bouton nommé "button1" et vous voulez déclencher un évènement lorsque l'utilisateur à cliqué 3 fois dessus

Source / Exemple :


'déclarer une variable avec le nom que vous voulez, il est important qu'elle soit déclarée
'avant le bouton
dim abc

'Editez le bouton
Private Sub button1_Click()
'On increment la variable abc de 1 à chaque clique sur le bouton
abc = abc + 1
'si abc = 3 alors on envoie la message box suivante, on peut mettre n'importe quel
'évènement, comme démarrer une application avec "shell"
If abc = 3 Then MsgBox "c'est la troisième fois que tu clique ici !"
'Si l'utilisateur reclique après l'évènement précédent, abc devient supérieur à 4
'donc on lui attribu la valeur de 1, il reste encore 2 clique avant de relancé l'évènement
'précédent
If abc > 3 Then abc = 1
'voila c finit
End Sub

Conclusion :


Ecrivez-moi pour me dire si c'est asser détailler ou non, ou si j'ai fait une erreure ......

A voir également

Ajouter un commentaire

Commentaires

lolokill666
Messages postés
28
Date d'inscription
samedi 4 mai 2002
Statut
Membre
Dernière intervention
14 août 2002
-
Merci du conseil ;) Je vais mettre ton code dans mon prog, ca l'améliorera un petit peu :)
SibosisITS
Messages postés
72
Date d'inscription
mardi 26 février 2002
Statut
Membre
Dernière intervention
20 juin 2003
-
Bien joué ! Mais tu pourrais améliorer un peu la procédure en déclarant la variable, non pas au niveau module, mais au niveau de la fonction, en variable statique, et expliciter un type de donnée, pour occuper un minimum de mémoire (un programmeur cherche toujours à optimiser l'espace mémoire occupé par son programme). En l'occurence, le type 'Byte' suffit puisque la valeur maximale prise par la variable est 4. Egalement, on peut initialisé la variable à 0 dès qu'elle vaut 3, ce qui permet de supprimer un test, et donc de condenser le code. On obtient le code suivant :

Private Sub Button1_Click()
Static abc as Byte
abc=abc+1
If abc = 3 Then abc=0: MsgBox "c'est la troisième fois que tu cliques ici !"
End Sub

L'avantage de ces variables statiques est qu'elles concervent leur valeur d'un appel de la fonction à l'autre, et sont initialisée par défaut à 0. Bien sûr, avant de déclarer une variable en static, il faut s'assurer que la variable n'est utilisée que par la fonction où elle est déclarée.

@++ et bonne prog...

(: Sibo ;)
lolokill666
Messages postés
28
Date d'inscription
samedi 4 mai 2002
Statut
Membre
Dernière intervention
14 août 2002
-
Ben oue, mais g remarquer ke y'avait po grand chose pour les débutant ici, il est donc très difficil d'apprendre a faire du vb. Ce genre de code permet aux newbie (comme moi ;)) de comprendre le principe de base du VB
yoman64
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
-
C'est pour les méga débutants :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.