Boucler sur plusieurs labels
#1
Aspirant XLPages

Inscription: 12/07/2008
De RENNES

Messages: 30

Système d'exploitation:
PC
Version Excel utilisée:
2003 FR
Posté le : 23-07-2012 21h17
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.
Hors Ligne
Rapport   Haut 

Re: Boucler sur plusieurs labels
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 23-07-2012 23h22
Bonsoir criscris11, le Forum,

A tester :
Dim L As Byte

    For L = 1 To 6
        With Me.Controls("Label" & 63 + L)
            .Caption = Sheets("Base gestion MDR").Cells(NomOK(ligne), 60 + L)
            Select Case .Caption
            Case "Oui"
                .BackColor = RGB(0, 255, 0)
            Case "Ajourné"
                .BackColor = RGB(255, 102, 0)
            Case "Abandon", "Echec"
                .BackColor = RGB(255, 0, 0)
            Case Else
                .BackColor = RGB(255, 255, 255)
                .Caption = "Non"
            End Select
        End With
    Next L

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Boucler sur plusieurs labels
#3
Aspirant XLPages

Inscription: 12/07/2008
De RENNES

Messages: 30

Système d'exploitation:
PC
Version Excel utilisée:
2003 FR
Posté le : 23-07-2012 23h49
Bonsoir Didier, tous,

Je viens de tester et tout est nickel une fois de plus : perso j'étais un peu loin du compte.
Merci de me faire partager ton savoir car je demande pas mal en ce moment mais c'est pour apprendre aussi.

Bonne soirée à toi et à tous.

PS : pas d'idées sur mon fil précédent ?
Hors Ligne
Rapport   Haut 

Re: Boucler sur plusieurs labels
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 24-07-2012 00h49
Re,

Citation :
criscris11 a écrit :
PS : pas d'idées sur mon fil précédent ?


Je n'ai pas regardé.
Pour moi, ton fil précédent s'intitulait « Problème de détection si filtre auto est présent », il était résolu et aurait du le rester. La question qui a suivi était un autre problème. Autre problème signifie autre sujet (et dans le cas présent, certainement un fichier joint).

Par ailleurs, j'estime aussi que l'amie chris ou d'autres visiteurs d'XLD auraient sans doute apprécié le partage de ta solution ICI. (je t'invite d'ailleurs à lire mon avis sur ce partage ).

Peu de dispo, un peu lassé de faire toujours les mêmes remarques. Aujourd'hui, lorsque j'estime que la question est mal posée ou ne respecte pas les règles élémentaires d'un forum, je passe mon chemin et ne réponds plus.

Cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Boucler sur plusieurs labels
#5
Aspirant XLPages

Inscription: 12/07/2008
De RENNES

Messages: 30

Système d'exploitation:
PC
Version Excel utilisée:
2003 FR
Posté le : 24-07-2012 11h49
Bonjour Didier, le forum,
J'ai bien pris en compte tes remarques. Effectivement, le fil a été résolu mais je l'ai réactivé par la suite : dans ce cas à quoi sert cette option si ce n'est qu'à réactiver un fil résolu ? Je pense que ma question faisait suite à ma première demande (je ne sortais pas du filtre automatique). Enfin bon, mea culpa.

Merci pour toute ton aide et ta patience et je ferais en sorte de ne plus t'importuner : dommage j'apprenais bien avec toi.

Sur ce bonne continuation.
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes