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 ?

52classeur1.xlsm (18.44 Ko)

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".

Spoiler

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

Rechercher des sujets similaires à "copier couleur label userform"