ben29270
Messages postés4Date d'inscriptionvendredi 2 mars 2012StatutMembreDernière intervention 2 mars 2012
-
2 mars 2012 à 17:49
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
2 mars 2012 à 19:13
Bonjour à tous,
Je suis un débutant en VBA et je bloque sur ce problème :
Je souhaiterai avoir une condition telle que :
Do while "la souris est sur le label" = true
' bloc de code
loop
J'utilise "Sub Label_MouseMove" pour activer le code mais je voudrai que ma boucle stoppe lorsque la souris n'est plus située sur le label.
ben29270
Messages postés4Date d'inscriptionvendredi 2 mars 2012StatutMembreDernière intervention 2 mars 2012 2 mars 2012 à 19:07
J'ai trouvé une solution :
sub truc_mousemove
i=1
do while i < 3
'bloc instruction
If i = 2 Then ' on fait ceci afin d'avoir une boucle infinie
i = 1
End If
i = i + 1
end
endsub
sub userform_mousemove
i=5
endsub
Ainsi la boucle tourne à l'infini mais lorsque la souris sort du label la condition n'est plus valide et elle le redevient lorsque la souris se remet dessus.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 2 mars 2012 à 17:52
Bonjour,
Il est assez rare que lorsque la souris passe d'un contrôle à l'autre, elle ne passe pas par le Mouse_Move d'un autre objet (conteneur, qu'il soit un Form, un Frame ou une Picturebox).
C'est encore le plus simple !
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
ben29270
Messages postés4Date d'inscriptionvendredi 2 mars 2012StatutMembreDernière intervention 2 mars 2012 2 mars 2012 à 18:06
Je ne comprend pas vraiment ce que vous dites.
Ici je cherche à ce que la boucle soit exécutée tant que la souris se situe sur le label.
Le fait que la souris passe sur le label lance une boucle dont la condition de sortie est que la souris ne soit plus sur le label.
ben29270
Messages postés4Date d'inscriptionvendredi 2 mars 2012StatutMembreDernière intervention 2 mars 2012 2 mars 2012 à 18:11
Est-ce qu'il existe des propriétés telles que je puisse faire ceci :
do while (label.bordgauche < position_souris) and (label.borddroit > position_souris) and (label.bordhaut < position_souris) and (label.bordbas > position_souris)
'bloc instruction
loop
?
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 2 mars 2012 à 18:50
Que survoles-tu, lorsque tu ne survoles plus ton label ?
La réponse à cette question devrait te donner des idées, non ?
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 2 mars 2012 à 18:58
Et je viens de découvrir qu'en plus, VB.Net gère déjà nativement tous ces évènements ! ===>>
Tapez le texte de l'url ici.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 2 mars 2012 à 19:13
Midi à quatorze heures !
Réfléchis donc :
Une simple variable booléenne ===>> A true dans mouseenter, à false dans mouseleave et dans mousemove : ne rien faire si false
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient