Bonjour,
Je voudrais savoir s'il est possible sur VBA de détecter le survol de la souris sur un rectangle (sans cliquer sur le rectangle) ?
J'ai cherché sur le net mais ça ne donne pas grand chose !!!
Je vous remercie pour votre aide !!! :lol:
Version imprimable
Bonjour,
Je voudrais savoir s'il est possible sur VBA de détecter le survol de la souris sur un rectangle (sans cliquer sur le rectangle) ?
J'ai cherché sur le net mais ça ne donne pas grand chose !!!
Je vous remercie pour votre aide !!! :lol:
salut,
peux-tu définir plus précisément "rectangle" stp ?
Est-ce une cellule ? Une Shape ? Une image ?
Bonjour,
Une solution éventuelle, sur le rectangle en question, tu insères un Label que tu rends transparent via sa propriété "BackStyle" et ce Label possède l'évènement MouseMove
Merci pour vos réponses, j'ai bien un label... je vais voir si ça marche !!!
Bonjour,
Je reviens vers vous car je n'arrive toujours pas à trouver la solution; voici un code que j'ai trouvé sur le net et qui semble faire ce que tu dis fring:
J'ai bien un label1 sur Feuil1, et quand je ramène la souris dessus.... il ne se passe rien !! :(Code:
1
2
3 Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Label1.BackColor = vbBlue End Sub
Ton code est pourtant correct. Tu as bien désactivé le "Mode Création" ?
http://img11.hostingpics.net/thumbs/...deCreation.jpg
Wiiiii ça marche avec le mode création désactivé... mais par contre le label reste bleu définitivement, je voulais juste que ça reste bleu lorsque le curseur pointe sur celui-ci !!!!
Je ne vois pas comment avoir cet effet !! :(
Il faut utiliser 2 Labels, ton premier Label qui doit réagir au passage de la souris pour lequel tu lui fixes la couleur bleue (par exemple) dans sa propriété BackColor et tu fixes le style transparent dans sa propriété BackStyle.
Sous ce Label tu insères un second Label légèrement plus grand, transparent lui aussi et dans les évènements MouseMove de ces 2 Labels ça donne :
Pour insérer le second Label sous le premier, clic droit --> Ordre --> mettre à l'arrière planCode:
1
2
3
4
5
6
7 Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Label1.BackStyle = fmBackStyleOpaque End Sub Private Sub Label2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Label1.BackStyle = fmBackStyleTransparent End Sub
C'est extra.....:mrgreen: UN GRAND MERCI au forum