usf/label : annulation d'une surbrillance

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

BenHarber

XLDnaute Occasionnel
Bonjour Le Forum,
Je suis à la recherche d’un fil que je suis sur d’avoir vu sur ce site et que je ne parviens pas à retrouver...

Enoncé : soit un usf qui contient plusieurs ‘label’. Je souhaite mettre en évidence le label sur lequel mon curseur passe. C’est OK avec le code suivant :
Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.Controls("Label1").ForeColor = &HC0E0FF
Me.Controls("Label1").Font.Bold = True
End Sub

Mais je souhaite que cette ‘surbrillance’ cesse lorsque le curseur n’est plus sur le label….et là : je cale.

Quelqu’un a-t-il une idée ou l’adresse d’un fil à me communiquer ?

Merci d’avance

Cordialement,
BenHarber
 
Re : usf/label : annulation d'une surbrillance

Bonjour Benharber

Si j'ai bien compris, rajoute peut être le code ci dessous, dans le module de ton USF :

Code:
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
    With Me.Label1
        .ForeColor = RGB(0, 0, 0)
        .Font.Bold = False
    End With
End Sub

bonne journée
@+
 
Re : usf/label : annulation d'une surbrillance

C'est exactement ça, Pierrot. Merci beaucoup.

Précision complémentaire (si tu a le temps, c'est simplement pour ma gouverne...) :
Si je comprends bien, le principe est de mettre le même évènement 'MouseMove' sur 2 objets différents : le 'Label' et l'usf.
Moi, je cherchais à tout mettre sous le même objet : cela aurait-il été possible ?

Merci encore en tout cas.
Cordialement,
BenHarber
 
Re : usf/label : annulation d'une surbrillance

Re,

oui tu as compris le principe, et le 2ème objet est généralement l'USF lui même, donc quand le curseur se déplace sur l'USF, cela déclenche la procédure inverse.

Sinon tu peux essayer la 2ème méthode ci dessous, mais pas top si déplacements trop rapide :

Code:
Private Sub Label2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With Me.Label2
    If (X > 0 And X < .Width - 1) And (Y > 0 And Y < .Height - 1) Then
        .ForeColor = RGB(255, 0, 0)
        .Font.Bold = True
    Else
        .ForeColor = RGB(0, 0, 0)
        .Font.Bold = False
    End If
End With
End Sub

personnellement je n'ais pas mieux à te proposer...

bon après midi
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour