bonjour GMB, le fil,
en supprimant un boucle
Sub FiltrerLesCouleurs()
Dim MesCouleurs, UN As Range, i, iC, c, r, Plage
With Range("X1:X10") 'plage avec les couleurs à filtrer
ReDim MesCouleurs(.Rows.Count - 1) 'preparer une matrice avec les couleurs interdits
For i = 1 To .Rows.Count
iC = .Cells(i, 1).Interior.Color
If iC <> 16777215 Then MesCouleurs(i - 1) = .Cells(i, 1).Interior.Color 'ajouter a la matrice
Next
End With
Set Plage = Range("K1").CurrentRegion.Offset(1, 0)
Plage.EntireRow.Hidden = True 'tout est caché
For Each c In Plage.Cells 'boucler les cellules
If c.Offset(, 6 - c.Column).Value = Range("Z1").Value Then 'bon service
r = Application.Match(c.Interior.Color, MesCouleurs, 0) 'chercher la couleur dans les couleurs interdits
If Not IsNumeric(r) Then 'couleur n'est pas interdit
If UN Is Nothing Then Set UN = c Else Set UN = Union(UN, c) 'ajouter à UN
End If
End If
Next
If Not UN Is Nothing Then UN.EntireRow.Hidden = False 'montrer Un
End Sub