Boucle couleur

Bonjour,

Je ne trouve pas le problème dans ma boucle. J'essaie de colorier des plages selon des conditions.

Quelqu'un voit le problème ?

Sub couleur_fin()

Dim vert&, rouge&, bleu&, bleu2&, blanc&, noir&, jaune&, ncouleur, txtCouleur, tcouleur

Dim ln&, k&, derln&

Dim Arr_Sheets(6) As String

Dim Ob_Sheet As Worksheet

vert = RGB(146, 208, 80)

rouge = RGB(255, 254, 255)

bleu = RGB(0, 51, 102)

noir = RGB(0, 0, 0)

blanc = RGB(255, 255, 255)

Arr_Sheets(0) = "PEM"

Arr_Sheets(1) = "SPOT"

Arr_Sheets(2) = "TIME SAVER"

Arr_Sheets(3) = "SOUDURE"

Arr_Sheets(4) = "FINITION"

Arr_Sheets(5) = "ASSEMBLAGE"

Arr_Sheets(6) = "PLIAGE"

For s = 0 To 6

Val_sh = Arr_Sheets(s)

Set Ob_Sheet = ThisWorkbook.Worksheets(Val_sh)

For ln = 2 To Ob_Sheet.Range("D" & Rows.Count).End(xlUp).Row

If Ob_Sheet.Range("AQ" & ln) <> "" Then

For k = 1 To 2

ncouleur = Choose(k, vert, rouge)

txtCouleur = Choose(k, "VERT", "ROUGE")

tcouleur = Choose(k, noir, noir)

If UCase(Ob_Sheet.Range("AQ" & ln)) = txtCouleur Then

derln = Ob_Sheet.Range("D" & ln - 1).End(xlDown).Row

Ob_Sheet.Range("D" & ln & ":AA" & derln).Interior.Color = ncouleur

Ob_Sheet.Range("D" & ln & ":AA" & derln).Font.Color = tcouleur

End If

Next k

End If

Next ln

Next s

End Sub

Merci d'avance. Ça fait 1h que je cherche!

Bonjour,

C'est pas toujours facile d'interpréter un code quand il y a aussi peut d'explications mais dans la boucle ci-dessous :

For k = 1 To 2

    ncouleur = Choose(k, vert, rouge, bleu, noir)
    txtCouleur = Choose(k, "VERT", "ROUGE", "BLEU", "NOIR")
    tcouleur = Choose(k, noir, noir, noir, noir)

    If UCase(Ob_Sheet.Range("AQ" & ln)) = txtCouleur Then

        derln = Ob_Sheet.Range("D" & ln - 1).End(xlDown).Row
        Ob_Sheet.Range("D" & ln & ":AA" & derln).Interior.Color = ncouleur
        Ob_Sheet.Range("D" & ln & ":AA" & derln).Font.Color = tcouleur

    End If

Next k

pourquoi k ne peut pas avoir plus de 2 valeurs (1 et 2) alors que tu proposes un choix de 4 valeurs, bleu et noir ne sortiront jamais ?

tcouleur = Choose(k, noir, noir, noir, noir) ceci ne sert à rien, tu sollicites une fonction pour te retrouver à la fin avec la même valeur, à savoir "noir" !

Bonjour,

Tu as raison voici plus de détail.

La boucle sert à mettre le fond vert ou rouge en fonction de la valeur inscrite dans la colonne "AQ".

Présentement, les 2 choix possibles sont rouge ou vert. Donc, si c'est écrit "Rouge" dans la cellule "AQ4" je veux que la plage "D4:AA11" ait un fond de couleur rouge.

ainsi de suite pour les autres blocs.

En espérant que ce soit plus clair!

Merci

J'ai trouvé mon bug.

Code 18.

La couleur rouge était en faite du blanc. Erreur de frappe.

rouge = RGB(255, 254, 255)

Bonne journée

Rechercher des sujets similaires à "boucle couleur"