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