Condition position souris sur un label [Résolu]

ben29270 4 Messages postés vendredi 2 mars 2012Date d'inscription 2 mars 2012 Dernière intervention - 2 mars 2012 à 17:49 - Dernière réponse : ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
ben29270 4 Messages postés vendredi 2 mars 2012Date d'inscription 2 mars 2012 Dernière intervention - 2 mars 2012 à 19:07
3
Merci
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.

Merci ben29270 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de ben29270
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 2 mars 2012 à 17:52
0
Merci
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
Commenter la réponse de ucfoutu
ben29270 4 Messages postés vendredi 2 mars 2012Date d'inscription 2 mars 2012 Dernière intervention - 2 mars 2012 à 18:06
0
Merci
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.
Commenter la réponse de ben29270
ben29270 4 Messages postés vendredi 2 mars 2012Date d'inscription 2 mars 2012 Dernière intervention - 2 mars 2012 à 18:11
0
Merci
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

?
Commenter la réponse de ben29270
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 2 mars 2012 à 18:50
0
Merci
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
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 2 mars 2012 à 18:58
0
Merci
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
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 2 mars 2012 à 19:13
0
Merci
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
Commenter la réponse de ucfoutu

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.