Sub ColoriageNom()
Dim NbCouleurRouge As Integer
Dim NbCouleurJaune As Integer
Dim NuméroLigne As Integer
Dim NuméroColonne As Integer
Dim NuméroLigneNom As Integer
'Je pars du principe que tu utilise :
' -> le jaune ayant pour code : 6 -> jaune "normal"
' -> le rouge ayant pour code : 3 -> rouge "normal"
' -> le vert ayant pour code : 10 -> vert "normal"
'Attention, sur ton fichier (avant que je le modifie) il y avait du jaune "normal" et du jaune clair.
'Je suis persuadé que le bug de ta macro provenait en partie de ce problème.
For NuméroLigne = 5 To 32
If Int(NuméroLigne / 2) - NuméroLigne / 2 <> 0 Then
NbCouleurRouge = 0
NbCouleurJaune = 0
End If
For NuméroColonne = 7 To 22
If Cells(NuméroLigne, NuméroColonne).Interior.ColorIndex = 6 Then
NbCouleurRouge = NbCouleurRouge + 1
Else: If Cells(NuméroLigne, NuméroColonne).Interior.ColorIndex = 3 Then NbCouleurJaune = NbCouleurJaune + 1
End If
Next NuméroColonne
If Int(NuméroLigne / 2) - NuméroLigne / 2 = 0 Then
If NbCouleurRouge >= 1 Then
Range(Cells(NuméroLigne, 2), Cells(NuméroLigne + 1, 2)).Interior.ColorIndex = 3
Else: Select Case NbCouleurJaune
Case 1 To 15
Range(Cells(NuméroLigne, 2), Cells(NuméroLigne + 1, 2)).InteriorColorIndex = 6
Case 0
Range(Cells(NuméroLigne, 2), Cells(NuméroLigne + 1, 2)).InteriorColorIndex = 10
End Select
End If
End If
Next NuméroLigne
End Sub