Bonsoir à ceux qui passeront par là.
Et Grand Merci à ceux qui par leur aide m'ont donné le Plaisir
de bidouiller en VBA.
1) Avec l'exemple ci-joint, je ne parviens pas à ce que les autres
labels récupèrent leur couleur initiale
2) J'aimerais remplacer "For Each" par un "i" excluant les deux
premiers Labels ainsi que les labels au-delà du septième.
(Par exemple)
Dans l'USF:
Option Explicit
Dim ACTION_SUR_LABELS(99) As New CHANGER_LES_COULEURS
Private Sub UserForm_Activate()
Dim SERIE_DE_LABELS As Control
Dim Qté As Byte
For Each SERIE_DE_LABELS In UserForm1.Controls
If TypeName(SERIE_DE_LABELS) = "Label" Then
Qté = Qté + 1
Set ACTION_SUR_LABELS(Qté).Les_Labels = SERIE_DE_LABELS
End If
Next SERIE_DE_LABELS
End Sub
'-----------------------------------------------------------------
Dans le module de Classe:
Public WithEvents Les_Labels As MSForms.Label
Private Sub Les_Labels_Click()
Les_Labels.BackColor = &HC0C000
(Les deux lignes ci-dessous, pour le test)
Worksheets("liste").Cells(1, 1).Value = Les_Labels.Name
Worksheets("liste").Cells(2, 1).Value = Right(Les_Labels.Name, 1)
End Sub
Je me vois parti sur une caisse de "If" sinon "Select Case" de deux pages..!
Je suis persuadé qu'il existe plus simple;
D'où ma question.
Merci d'avance, et bon Middle Week à tous.
IFFIC
Et Grand Merci à ceux qui par leur aide m'ont donné le Plaisir
de bidouiller en VBA.
1) Avec l'exemple ci-joint, je ne parviens pas à ce que les autres
labels récupèrent leur couleur initiale
2) J'aimerais remplacer "For Each" par un "i" excluant les deux
premiers Labels ainsi que les labels au-delà du septième.
(Par exemple)
Dans l'USF:
Option Explicit
Dim ACTION_SUR_LABELS(99) As New CHANGER_LES_COULEURS
Private Sub UserForm_Activate()
Dim SERIE_DE_LABELS As Control
Dim Qté As Byte
For Each SERIE_DE_LABELS In UserForm1.Controls
If TypeName(SERIE_DE_LABELS) = "Label" Then
Qté = Qté + 1
Set ACTION_SUR_LABELS(Qté).Les_Labels = SERIE_DE_LABELS
End If
Next SERIE_DE_LABELS
End Sub
'-----------------------------------------------------------------
Dans le module de Classe:
Public WithEvents Les_Labels As MSForms.Label
Private Sub Les_Labels_Click()
Les_Labels.BackColor = &HC0C000
(Les deux lignes ci-dessous, pour le test)
Worksheets("liste").Cells(1, 1).Value = Les_Labels.Name
Worksheets("liste").Cells(2, 1).Value = Right(Les_Labels.Name, 1)
End Sub
Je me vois parti sur une caisse de "If" sinon "Select Case" de deux pages..!
Je suis persuadé qu'il existe plus simple;
D'où ma question.
Merci d'avance, et bon Middle Week à tous.
IFFIC