Copier la couleur d'une cellule dans un label d'un userform
Bonjour,
Voici mon code
Me.Controls("Esat" & i).BackColor = Cells(lig, col1).Interior.Color
Je voudrais que le fond des labels (Esat1, Esat2 ... Esat7) soient de la même couleur que la couleur de fond de la cellule indiquée.
Mais avec ce code le fond est toujours blanc
Pouvez-vous m'aider svp ?
Je vous remercie
Cordialement
Bonsoir sylvainpyc, le forum,
A quoi correspond i ?
A quoi correspond lig ?
Tu cherches à faire ça ?
Cordialement,
Bonjour à tous,
Les couleurs dans la feuille proviennent de "Mises en forme conditionnelles".
Il suffit de reprendre les mêmes conditions que les "Mises en forme conditionnelles".
Tu pourrais utilise un "Select Case Cells(lig, col1)" ou quelque chose de semblable.
ric
je pense que j'ai fond blanc car c'est une mise en forme conditionnelle sur la feuille
et je ne sais pas comment faire
J'ai rajouté un select case
mais maintenant j'ai tous les fonds en noir ???
Private Sub CBvalider_Click()
Dim col1 As Integer
Dim monLundi As Date
'retourne la date du lundi de la semaine 14 de 2015
monLundi = Lundi(CBsemaine.Value, 2019)
Set plage2 = ThisWorkbook.Worksheets("Stats repas").Range("f55:nr55")
For Each cell In plage2
If cell.Value = CDate(monLundi) Then
col1 = cell.Column
col = Mid(cell.Address, 2, InStr(2, cell.Address, "$") - 2)
End If
Next cell
Set plage = ThisWorkbook.Worksheets("Stats repas").Range("b56:b280")
For Each cell In plage
If cell.Value = CBresident.Value Then ' si = au nom de la liste
lig = cell.Row ' lig = au numéro de ligne de la feuil1
End If
Next cell
Label5.Caption = CBresident.Value & " pour la semaine " & CBsemaine.Value
lu1.Caption = Replace(Format(monLundi + 1, "ddd d mm"), ".", "")
ma1.Caption = Replace(Format(monLundi + 1, "ddd d mm"), ".", "")
me1.Caption = Replace(Format(monLundi + 2, "ddd d mm"), ".", "")
je1.Caption = Replace(Format(monLundi + 3, "ddd d mm"), ".", "")
ve1.Caption = Replace(Format(monLundi + 4, "ddd d mm"), ".", "")
sa1.Caption = Replace(Format(monLundi + 5, "ddd d mm"), ".", "")
di1.Caption = Replace(Format(monLundi + 6, "ddd d mm"), ".", "")
For i = 1 To 7
Select Case Cells(lig, col1).Value
Case 1
couleur = RGB(255, 128, 51)
Case 2
couleur = RGB(0, 128, 0)
Case 3
couleur = RGB(0, 255, 255)
Case 4
couleur = RGB(0, 0, 128)
Case 5
couleur = RGB(255, 0, 255)
Case 7
couleur = RGB(0, 128, 128)
Case Else
coileur = RGB(255, 255, 255)
End Select
Me.Controls("Esat" & i).BackColor = couleur
Me.Controls("Esat" & i).Caption = Cells(lig, col1).Value
Me.Controls("E" & i).Caption = Cells(lig + 1, col1).Value
If Cells(lig + 2, col1).Value = "x" Then
Me.Controls("P" & i).Value = True
Else
Me.Controls("P" & i).Value = False
End If
Me.Controls("Pfh" & i).Caption = Cells(lig + 3, col1).Value & "/" & Cells(lig + 4, col1).Value & "/" & Cells(lig + 5, col1).Value
Me.Controls("Rm" & i).Value = Cells(lig + 6, col1).Value
Me.Controls("Rs" & i).Value = Cells(lig + 7, col1).Value
col1 = col1 + 1
Next i
End Sub
Pouvez-vous m'éclairer svp ?
Merci de votre aide
Bonjour à tous,
J'utilise ton fichier de la demande du Aujourd’hui, 12:32
J'ai désactivé des lignes à la fin du code qui posent problème sur ce fichier.
Sinon, ton code fonctionne. Sélectionne la semaine 52 de Daniel > bouton Valider. Puis, la semaine 51 de Daniel > bouton Valider ... les couleurs changent.
Attention à la faute de frappe dans le mot couleur de "Case Else".
Private Sub CBvalider_Click()
Dim col1 As Integer
Dim monLundi As Date
'retourne la date du lundi de la semaine 14 de 2015
monLundi = Lundi(CBsemaine.Value, 2019)
Set plage2 = ThisWorkbook.Worksheets("Stats repas").Range("f55:nr55")
For Each cell In plage2
If cell.Value = CDate(monLundi) Then
col1 = cell.Column
col = Mid(cell.Address, 2, InStr(2, cell.Address, "$") - 2)
End If
Next cell
Set plage = ThisWorkbook.Worksheets("Stats repas").Range("b56:b280")
For Each cell In plage
If cell.Value = CBresident.Value Then ' si = au nom de la liste
lig = cell.Row ' lig = au numéro de ligne de la feuil1
End If
Next cell
Label5.Caption = CBresident.Value & " pour la semaine " & CBsemaine.Value
lu1.Caption = Replace(Format(monLundi + 1, "ddd d mm"), ".", "")
ma1.Caption = Replace(Format(monLundi + 1, "ddd d mm"), ".", "")
me1.Caption = Replace(Format(monLundi + 2, "ddd d mm"), ".", "")
je1.Caption = Replace(Format(monLundi + 3, "ddd d mm"), ".", "")
ve1.Caption = Replace(Format(monLundi + 4, "ddd d mm"), ".", "")
sa1.Caption = Replace(Format(monLundi + 5, "ddd d mm"), ".", "")
di1.Caption = Replace(Format(monLundi + 6, "ddd d mm"), ".", "")
For i = 1 To 7
Select Case Cells(lig, col1).Value
Case 1
couleur = RGB(255, 128, 51)
Case 2
couleur = RGB(0, 128, 0)
Case 3
couleur = RGB(0, 255, 255)
Case 4
couleur = RGB(0, 0, 128)
Case 5
couleur = RGB(255, 0, 255)
Case 7
couleur = RGB(0, 128, 128)
Case Else
couleur = RGB(255, 255, 255)
End Select
Me.Controls("Esat" & i).BackColor = couleur
Me.Controls("Esat" & i).Caption = Cells(lig, col1).Value
'' Me.Controls("E" & i).Caption = Cells(lig + 1, col1).Value
'' If Cells(lig + 2, col1).Value = "x" Then
'' Me.Controls("P" & i).Value = True
'' Else
'' Me.Controls("P" & i).Value = False
'' End If
'' Me.Controls("Pfh" & i).Caption = Cells(lig + 3, col1).Value & "/" & Cells(lig + 4, col1).Value & "/" & Cells(lig + 5, col1).Value
'' Me.Controls("Rm" & i).Value = Cells(lig + 6, col1).Value
'' Me.Controls("Rs" & i).Value = Cells(lig + 7, col1).Value
col1 = col1 + 1
Next i
End Sub
ric