Bonjour
J'ai sur un userform plusieurs labels une trentaine
Je souhaite lorsque je passe ma souris sur chacun d'eux, que la police
change de couleur,
je connais la procédure mousemove, mais comme il y a 33 labels, est-il
possible de simplifier cela par une boucle par exemple si les labels vont du
label1 au label33
Je vous remercie
Didier
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
lSteph
Bonjour Didier, Nommes un module de classe : ClassLb (via Fenêtre propriété) Puis colles le code ci-après: Cordialement .
LSteph
'''''*****dans ce module de classe*** Public WithEvents MonLabel As MSForms.Label
Private Sub MonLabel_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) MonLabel.ForeColor = RGB(250, 100, 50) End Sub '''''*****dans code userform**** Private MesLb() As New ClassLb Private Sub UserForm_Initialize() Dim mlb As Control, I& For Each mlb In Me.Controls If TypeName(mlb) = "Label" Then ReDim Preserve MesLb(0 To I) Set MesLb(I).MonLabel = mlb I = I + 1 End If Next mlb End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim mlb As Control For Each mlb In Me.Controls If TypeName(mlb) = "Label" Then mlb.ForeColor = RGB(0, 0, 0) End If Next mlb End Sub
Private Sub UserForm_Terminate() Dim I& For I = 0& To UBound(MesLb) Set MesLb(I) = Nothing Next I End Sub '''''**********
"Didier Novarin" a écrit dans le message de news:
Bonjour J'ai sur un userform plusieurs labels une trentaine Je souhaite lorsque je passe ma souris sur chacun d'eux, que la police change de couleur, je connais la procédure mousemove, mais comme il y a 33 labels, est-il possible de simplifier cela par une boucle par exemple si les labels vont du label1 au label33 Je vous remercie Didier
Bonjour Didier,
Nommes un module de classe :
ClassLb
(via Fenêtre propriété)
Puis colles le code ci-après:
Cordialement .
LSteph
'''''*****dans ce module de classe***
Public WithEvents MonLabel As MSForms.Label
Private Sub MonLabel_MouseMove(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
MonLabel.ForeColor = RGB(250, 100, 50)
End Sub
'''''*****dans code userform****
Private MesLb() As New ClassLb
Private Sub UserForm_Initialize()
Dim mlb As Control, I&
For Each mlb In Me.Controls
If TypeName(mlb) = "Label" Then
ReDim Preserve MesLb(0 To I)
Set MesLb(I).MonLabel = mlb
I = I + 1
End If
Next mlb
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
Dim mlb As Control
For Each mlb In Me.Controls
If TypeName(mlb) = "Label" Then
mlb.ForeColor = RGB(0, 0, 0)
End If
Next mlb
End Sub
Private Sub UserForm_Terminate()
Dim I&
For I = 0& To UBound(MesLb)
Set MesLb(I) = Nothing
Next I
End Sub
'''''**********
"Didier Novarin" <didier.n@club-internet.fr> a écrit dans le message de
news: edmndU3dGHA.4900@TK2MSFTNGP02.phx.gbl...
Bonjour
J'ai sur un userform plusieurs labels une trentaine
Je souhaite lorsque je passe ma souris sur chacun d'eux, que la police
change de couleur,
je connais la procédure mousemove, mais comme il y a 33 labels, est-il
possible de simplifier cela par une boucle par exemple si les labels vont
du label1 au label33
Je vous remercie
Didier
Bonjour Didier, Nommes un module de classe : ClassLb (via Fenêtre propriété) Puis colles le code ci-après: Cordialement .
LSteph
'''''*****dans ce module de classe*** Public WithEvents MonLabel As MSForms.Label
Private Sub MonLabel_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) MonLabel.ForeColor = RGB(250, 100, 50) End Sub '''''*****dans code userform**** Private MesLb() As New ClassLb Private Sub UserForm_Initialize() Dim mlb As Control, I& For Each mlb In Me.Controls If TypeName(mlb) = "Label" Then ReDim Preserve MesLb(0 To I) Set MesLb(I).MonLabel = mlb I = I + 1 End If Next mlb End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim mlb As Control For Each mlb In Me.Controls If TypeName(mlb) = "Label" Then mlb.ForeColor = RGB(0, 0, 0) End If Next mlb End Sub
Private Sub UserForm_Terminate() Dim I& For I = 0& To UBound(MesLb) Set MesLb(I) = Nothing Next I End Sub '''''**********
"Didier Novarin" a écrit dans le message de news:
Bonjour J'ai sur un userform plusieurs labels une trentaine Je souhaite lorsque je passe ma souris sur chacun d'eux, que la police change de couleur, je connais la procédure mousemove, mais comme il y a 33 labels, est-il possible de simplifier cela par une boucle par exemple si les labels vont du label1 au label33 Je vous remercie Didier
Didier Novarin
Salut lSteph Un très grand merci à toi ! Très bonne soirée Didier
"lSteph" a écrit dans le message de news:
Bonjour Didier, Nommes un module de classe : ClassLb (via Fenêtre propriété) Puis colles le code ci-après: Cordialement .
LSteph
'''''*****dans ce module de classe*** Public WithEvents MonLabel As MSForms.Label
Private Sub MonLabel_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) MonLabel.ForeColor = RGB(250, 100, 50) End Sub '''''*****dans code userform**** Private MesLb() As New ClassLb Private Sub UserForm_Initialize() Dim mlb As Control, I& For Each mlb In Me.Controls If TypeName(mlb) = "Label" Then ReDim Preserve MesLb(0 To I) Set MesLb(I).MonLabel = mlb I = I + 1 End If Next mlb End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim mlb As Control For Each mlb In Me.Controls If TypeName(mlb) = "Label" Then mlb.ForeColor = RGB(0, 0, 0) End If Next mlb End Sub
Private Sub UserForm_Terminate() Dim I& For I = 0& To UBound(MesLb) Set MesLb(I) = Nothing Next I End Sub '''''**********
"Didier Novarin" a écrit dans le message de news:
Bonjour J'ai sur un userform plusieurs labels une trentaine Je souhaite lorsque je passe ma souris sur chacun d'eux, que la police change de couleur, je connais la procédure mousemove, mais comme il y a 33 labels, est-il possible de simplifier cela par une boucle par exemple si les labels vont du label1 au label33 Je vous remercie Didier
Salut lSteph
Un très grand merci à toi !
Très bonne soirée
Didier
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
ueplBN4dGHA.4720@TK2MSFTNGP03.phx.gbl...
Bonjour Didier,
Nommes un module de classe :
ClassLb
(via Fenêtre propriété)
Puis colles le code ci-après:
Cordialement .
LSteph
'''''*****dans ce module de classe***
Public WithEvents MonLabel As MSForms.Label
Private Sub MonLabel_MouseMove(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
MonLabel.ForeColor = RGB(250, 100, 50)
End Sub
'''''*****dans code userform****
Private MesLb() As New ClassLb
Private Sub UserForm_Initialize()
Dim mlb As Control, I&
For Each mlb In Me.Controls
If TypeName(mlb) = "Label" Then
ReDim Preserve MesLb(0 To I)
Set MesLb(I).MonLabel = mlb
I = I + 1
End If
Next mlb
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
Dim mlb As Control
For Each mlb In Me.Controls
If TypeName(mlb) = "Label" Then
mlb.ForeColor = RGB(0, 0, 0)
End If
Next mlb
End Sub
Private Sub UserForm_Terminate()
Dim I&
For I = 0& To UBound(MesLb)
Set MesLb(I) = Nothing
Next I
End Sub
'''''**********
"Didier Novarin" <didier.n@club-internet.fr> a écrit dans le message de
news: edmndU3dGHA.4900@TK2MSFTNGP02.phx.gbl...
Bonjour
J'ai sur un userform plusieurs labels une trentaine
Je souhaite lorsque je passe ma souris sur chacun d'eux, que la police
change de couleur,
je connais la procédure mousemove, mais comme il y a 33 labels, est-il
possible de simplifier cela par une boucle par exemple si les labels vont
du label1 au label33
Je vous remercie
Didier
Salut lSteph Un très grand merci à toi ! Très bonne soirée Didier
"lSteph" a écrit dans le message de news:
Bonjour Didier, Nommes un module de classe : ClassLb (via Fenêtre propriété) Puis colles le code ci-après: Cordialement .
LSteph
'''''*****dans ce module de classe*** Public WithEvents MonLabel As MSForms.Label
Private Sub MonLabel_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) MonLabel.ForeColor = RGB(250, 100, 50) End Sub '''''*****dans code userform**** Private MesLb() As New ClassLb Private Sub UserForm_Initialize() Dim mlb As Control, I& For Each mlb In Me.Controls If TypeName(mlb) = "Label" Then ReDim Preserve MesLb(0 To I) Set MesLb(I).MonLabel = mlb I = I + 1 End If Next mlb End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim mlb As Control For Each mlb In Me.Controls If TypeName(mlb) = "Label" Then mlb.ForeColor = RGB(0, 0, 0) End If Next mlb End Sub
Private Sub UserForm_Terminate() Dim I& For I = 0& To UBound(MesLb) Set MesLb(I) = Nothing Next I End Sub '''''**********
"Didier Novarin" a écrit dans le message de news:
Bonjour J'ai sur un userform plusieurs labels une trentaine Je souhaite lorsque je passe ma souris sur chacun d'eux, que la police change de couleur, je connais la procédure mousemove, mais comme il y a 33 labels, est-il possible de simplifier cela par une boucle par exemple si les labels vont du label1 au label33 Je vous remercie Didier