Titre du sujet : Boucler sur plusieurs labels par criscris11 le 23/07/2012 21:17:55
Bonsoir,
J'utilise dans un USF plusieurs labels afin de récupérer des données provenant d'une feuille de calcul (petite base de données). Dans une partie de cet USF, je récupère certaines données identiques dans 6 labels nommés Label64 à Label69 avec ceci :
Me.Label64.Caption = Sheets("Base gestion MDR").Cells(NomOK(ligne), "BI")
If Label64.Caption = "Oui" Then
Label64.BackColor = RGB(0, 255, 0)
ElseIf Label64.Caption = "Ajourné" Then
Label64.BackColor = RGB(255, 102, 0)
ElseIf Label64.Caption = "Abandon" Or Label64.Caption = "Echec" Then
Label64.BackColor = RGB(255, 0, 0)
Else
Label64.BackColor = RGB(255, 255, 255)
Label64.Caption = "Non"
End If
Me.Label65.Caption = Sheets("Base gestion MDR").Cells(NomOK(ligne), "BJ")
If Label65.Caption = "Oui" Then
Label65.BackColor = RGB(0, 255, 0)
ElseIf Label65.Caption = "Ajourné" Then
Label65.BackColor = RGB(255, 102, 0)
ElseIf Label65.Caption = "Abandon" Or Label65.Caption = "Echec" Then
Label65.BackColor = RGB(255, 0, 0)
Else
Label65.BackColor = RGB(255, 255, 255)
Label65.Caption = "Non"
End If
Me.Label66.Caption = Sheets("Base gestion MDR").Cells(NomOK(ligne), "BK")
If Label66.Caption = "Oui" Then
Label66.BackColor = RGB(0, 255, 0)
ElseIf Label66.Caption = "Ajourné" Then
Label66.BackColor = RGB(255, 102, 0)
ElseIf Label66.Caption = "Abandon" Or Label66.Caption = "Echec" Then
Label66.BackColor = RGB(255, 0, 0)
Else
Label66.BackColor = RGB(255, 255, 255)
Label66.Caption = "Non"
End If
Me.Label67.Caption = Sheets("Base gestion MDR").Cells(NomOK(ligne), "BL")
If Label67.Caption = "Oui" Then
Label67.BackColor = RGB(0, 255, 0)
ElseIf Label67.Caption = "Ajourné" Then
Label67.BackColor = RGB(255, 102, 0)
ElseIf Label67.Caption = "Abandon" Or Label67.Caption = "Echec" Then
Label67.BackColor = RGB(255, 0, 0)
Else
Label67.BackColor = RGB(255, 255, 255)
Label67.Caption = "Non"
End If
Me.Label68.Caption = Sheets("Base gestion MDR").Cells(NomOK(ligne), "BM")
If Label68.Caption = "Oui" Then
Label68.BackColor = RGB(0, 255, 0)
ElseIf Label68.Caption = "Ajourné" Then
Label68.BackColor = RGB(255, 102, 0)
ElseIf Label68.Caption = "Abandon" Or Label68.Caption = "Echec" Then
Label68.BackColor = RGB(255, 0, 0)
Else
Label68.BackColor = RGB(255, 255, 255)
Label68.Caption = "Non"
End If
Me.Label69.Caption = Sheets("Base gestion MDR").Cells(NomOK(ligne), "BN")
If Label69.Caption = "Oui" Then
Label69.BackColor = RGB(0, 255, 0)
ElseIf Label69.Caption = "Ajourné" Then
Label69.BackColor = RGB(255, 102, 0)
ElseIf Label69.Caption = "Abandon" Or Label69.Caption = "Echec" Then
Label69.BackColor = RGB(255, 0, 0)
Else
Label69.BackColor = RGB(255, 255, 255)
Label69.Caption = "Non"
End If
Je sais que je pourrais faire une boucle pour alléger le code et le rendre plus lisible mais je sèche un peu, j'avoue.
A noter qu'il faut déclarer les variables (Option Explicit), que ces 6 labels possèdent un tag nommé Lbl, qu'ils sont tous dans le même Frame mais avec d'autres labels.
J'espère avoir été assez explicite et merci par avance.
Bonne soirée.
|