Condition position souris sur un label

Résolu
ben29270 Messages postés 4 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 2 mars 2012 - 2 mars 2012 à 17:49
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 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.

Merci d'avance à tous pour vos réponses.

7 réponses

ben29270 Messages postés 4 Date d'inscription vendredi 2 mars 2012 Statut Membre Derniè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.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
ben29270 Messages postés 4 Date d'inscription vendredi 2 mars 2012 Statut Membre Derniè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.
0
ben29270 Messages postés 4 Date d'inscription vendredi 2 mars 2012 Statut Membre Derniè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

?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
Rejoignez-nous