Valeur des controls label

thomlau

XLDnaute Occasionnel
Bonjour à tous
J'espère que le week-end commence bien pour vous.

Voilà mon problème :

Dans un Userform, j'ai 192 labels (rien que ça!), et je voudrais qu'à l'initialisation de l'USF, ces 192 labels prennent la valeur de chaque cellule d'un tableau composé de 192 cellules.
De plus, ci la valeur de la cellule est égale à "REPOS", le label prend la couleur orange par exemple.

C'est réalisable pour ma part, mais en faisant pour chaque label :

Label1.Caption = Sheets("planning").range("B1").value
if Sheets("planning").range("B1").value = "REPOS" then
Label1.BackColor = &H000080FF&​
End If

Bon ceci à faire 192 fois....ça risque d'être long, c'est pourquoi, une fois de plus je fais appel à votre savoir.

D'avance merci si vous pouviez automatisé cette tâche.
 

thomlau

XLDnaute Occasionnel
Re : Valeur des controls label

Re

Voici comment sont agencés les labels :

label 40 - 41 - 42 - 43 - 44 - 45
label 46 - 47 - 48 - 49 - 50 - 51
etc....
label 226 - 227 - 228 - 229 - 230 - 231

Et maintenant les cellules :

C5 - D5 - E5 - F5 - G5 - H5
C6 - D6 - E6 - F6 - G6 - H6
etc....
C7 - D7 - E7 - F7 - G7 - H7

Comme tu as compris, le label40 est en rapport avec la cellule C5.
Autre exemple, le label48.......cellule E6

Merci encore pour ta patience et ton aide si précieuse.
 

skoobi

XLDnaute Barbatruc
Re : Valeur des controls label

Re,
test ceci:
Code:
colonne = 3
ligne = 5
For N = 40 To 231
    If colonne = 9 Then
        colonne = 3
        ligne = ligne + 1
    End If
    Controls("Label" & N).Caption = Sheets("planning").Cells(ligne, colonne).Value
    If Sheets("planning").Cells(ligne, colonne).Value = "REPOS" Then
        Controls("Label" & N).BackColor = &H80FF&
    End If
    colonne = colonne + 1
Next
 

Banzai64

XLDnaute Accro
Re : Valeur des controls label

Re

Essayes

Code:
Sub test()
Dim Col As Integer
Dim Lig As Integer
Dim N As Integer
  
  Lig = 5
  Col = 3
  For N = 40 To 231
    Controls("Label" & N).Caption = Sheets("planning").Cells(Lig, Col).Value
    If Sheets("planning").Cells(Lig, Col).Value = "REPOS" Then
      Controls("Label" & N).BackColor = &H80FF&
    End If
    Col = Col + 1
    If Col Mod 9 = 0 Then
      Col = 3
      Lig = Lig + 1
    End If
  Next
End Sub
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Valeur des controls label

Bonjour Thomlau, Banzai, Skoobi

une autre solution peut être, mais pas sur d'avoir tout suivi...

Code:
Private Sub UserForm_Initialize()
Dim i As Byte, c As Byte, l As Byte
i = 1
For l = 1 To 32
    For c = 1 To 6
       UserForm1.Controls("Label" & i) = Cells(l + 4, c + 2).Value
        If Sheets("Feuil1").Cells(l + 4, c + 2).Value = "REPOS" Then _
            UserForm1.Controls("Label" & i).BackColor = &H80FF&
    i = i + 1
Next c
Next l
End Sub

bonne fin d'après midi
@+

Edition une faute de frappe dans le code... mais bon...
 
Dernière édition:

thomlau

XLDnaute Occasionnel
Re : Valeur des controls label

Bonjour Pierrot93, bonjour le fil.

Sur les 3 codes ci-dessus, seul celui de Pierrot ne fonctionne pas correctement. Comme tu le dis Pierrot, c'est pas évident en prenant le train en marche.

Merci @ tous et à cet incroyable forum.
 

thomlau

XLDnaute Occasionnel
Re : Valeur des controls label

Bonsoir @ tous

Tu n'a pas à être désolé Pierrot. Ton aide, à travers les forums que j'ai parcouru, est omniprésente. Ce forum est une mine d'or grâce à des gens comme vous 3.

Bon week end et continuez à nous apprendre!!!
 

thomlau

XLDnaute Occasionnel
Re : Valeur des controls label

Bonjour le forum, bonjour Banzai, Pierrot et skoobi.

Hier, dans l'euphorie, je vous ait dit que tout était parfait....je me rend compte qu'il n'y a qu'une ligne de label sur 2 où la valeur "Repos" colore le label...
Il ne doit pas y avoir grand chose à modifier. J'essaye à taton, mais sans résultat pour l'instant.

bonne journée.
 

thomlau

XLDnaute Occasionnel
Re : Valeur des controls label

Re, bonjour le fil,

je vous remercie pour l'attention que vous portez sur le sujet.

REPOS est toujours en maj, quoi qu'il arrive.
Quant à Option compare Text, j'ai essayé, sans résultat.
C'est tout de même bizarre qu'il n'y ait qu'une ligne sur 2 qui adopte le code.

Bonne fin de WE à tous.
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 171
Membres
103 152
dernier inscrit
Karibu