Sub lkjp()
orange = 49407
gris = 12566463
vert = 3407718
rouge = 255
Application.ScreenUpdating = False
Set zone = Range(Selection.Address)
Set o = Range(zone(1, 1).Offset(-1, -1).Address)
zone.Interior.Pattern = xlNone
largeur = zone.Columns.Count
hauteur = zone.Rows.Count
For i = 1 To hauteur
If IsEmpty(o.Offset(i, 0)) Then
egal = 0
Else
egal = WorksheetFunction.Match(o.Offset(i, 0), zone.Rows(1).Offset(-1, 0), 0)
End If
For j = 1 To largeur
Select Case j
Case Is < egal
If o.Offset(i, j) >= 1 Then Range("c5").Offset(i, j).Interior.Color = orange
Case egal
o.Offset(i, j).Interior.Color = gris
Case Else
If o.Offset(i, j) <> 0 Then
o.Offset(i, j).Interior.Color = rouge
Else
o.Offset(i, j).Interior.Color = vert
End If
End Select
Next j
Next i
End Sub