OVH Cloud OVH Cloud

Déclarer une variable

1 réponse
Avatar
DENIS
Bonjour =E0 tous,

J'aimerais =E9viter de taper chaque instruction par label et=20
d=E9clarer une instruction du genre "Au passage de la souris=20
sur le label5, tous les autres labels ont ces couleurs l=E0"

Private Sub Label5_MouseMove(ByVal Button As Integer,=20
ByVal Shift As Integer, ByVal X As Single, ByVal Y As=20
Single)
Label5.ForeColor =3D RGB(255, 255, 255)
Label5.BackColor =3D RGB(0, 0, 144)

Label6.ForeColor =3D RGB(0, 0, 0)
Label6.BackColor =3D RGB(213, 213, 213)

Label7.ForeColor =3D RGB(0, 0, 0)
Label7.BackColor =3D RGB(213, 213, 213)
End Sub

Merci
Denis

1 réponse

Avatar
anomymousA
bonjour,

un truc dans ce genre là sans utiliser un module de classe.

Procédures suivantes à déclarer dans ton code de userform. Attention, il
faut déclarer dans toutes procédures Mousemove des labels si tu veux que ca
marche
et en suopposant bien sur que tous les lables sont concernés quoiqu'en
bricolant le code tu pourrais bien sur ne te préocuuper que de quelques uns.

Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)

tit = Split(GetActiveProcedureName, "_")
Call rechcontrol(tit(0))

End Sub

Function GetActiveProcedureName() As String

Dim lSelStartLine As Long

With Application.VBE.ActiveCodePane
.GetSelection lSelStartLine, 0, 0, 0
GetActiveProcedureName = .CodeModule.ProcOfLine(lSelStartLine, 0)
End With

End Function

Sub rechcontrol(nomlabl)

For Each c In Me.Controls
If TypeName(c) = "Label" Then
If c.Name = nomlabl Then
c.ForeColor = RGB(255, 255, 255)
c.BackColor = RGB(0, 0, 144)
Else
c.ForeColor = RGB(0, 0, 0)
c.BackColor = RGB(213, 213, 213)
End If
End If
Next

MsgBox "Au passage de la souris sur le " & nomlabl & "tous les autres labels
ont ces couleurs là"

End Sub

A+




Bonjour à tous,

J'aimerais éviter de taper chaque instruction par label et
déclarer une instruction du genre "Au passage de la souris
sur le label5, tous les autres labels ont ces couleurs là"

Private Sub Label5_MouseMove(ByVal Button As Integer,
ByVal Shift As Integer, ByVal X As Single, ByVal Y As
Single)
Label5.ForeColor = RGB(255, 255, 255)
Label5.BackColor = RGB(0, 0, 144)

Label6.ForeColor = RGB(0, 0, 0)
Label6.BackColor = RGB(213, 213, 213)

Label7.ForeColor = RGB(0, 0, 0)
Label7.BackColor = RGB(213, 213, 213)
End Sub

Merci
Denis