Condition position souris sur un label [Résolu]

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

Messages postés
4
Date d'inscription
vendredi 2 mars 2012
Statut
Membre
Dernière intervention
2 mars 2012

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

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.
Messages postés
4
Date d'inscription
vendredi 2 mars 2012
Statut
Membre
Dernière intervention
2 mars 2012

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

?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
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