Filtrer plusieurs couleurs d’une colonne

Bonjour,

J’ai une table et je voulais faire un bouton avec VBA qui filtre toutes les couleurs rouge et orange dans la colonne C.

Merci,

Bonjour

Un essai à tester. Te convient-il ?

41classeur1-v1.xlsm (18.20 Ko)

Bye !

Bonjour,

Merci pour la proposition sauf que il fait l inverse ce que je cherche car il cache les couleurs rouge et orange quand je clique sur filtrer. j'aimerais bien ajouter que j'ai une colonne B contient les services et je voulais filtrer les services par service puis les couleurs rouge et orange dans la colonne C.

Exemple : Quand je clique sur le bouton je veux afficher le service GS dans la colonne B en premier lieu et en même temps je veux juste les lignes de service GS qui ont des couleurs rouge et orange. Pratiquement je vais filtrer juste un seul service GS dans ce cas et en prend pas les autres services en compte.

Voir fichier en pièce jointe.

Merci,

17classeur1-v1.xlsm (17.96 Ko)

Bonjour

Nouvel essai

23classeur1-v2.xlsm (18.46 Ko)

Bye !

Bonjour,

Ça avance mais je voulais juste les lignes de service GS qui ont la couleur rouge et orange. Pour les autres services je les ai pas besoin dans ce filtre. « Afficher le service GS dans la colonne B et juste les lignes ayant couleur rouge et orange dans la colonne C »

Merci

Nouvelle version

19classeur1-v3.xlsm (18.89 Ko)

Bye !

Bonjour,

J'ai essayé le code sur ma feuille mais ça marche pas! j'ai inséré une Feuille2 et j'ai mis l'emplacement réel de mes colonnes et j'aimerais bien que tu me corrige le code svp en fonction de la feuille 2.

Merci,

14classeur1-v3.xlsm (18.18 Ko)

Bonjour

En retour...

20classeur1-v4.xlsm (19.01 Ko)

Bye !

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

Bonjour,

Il ne me marche pas! Quand j'exécute le fichier il ne me filtre rien et il cache les cellules colorées et non colorées. Pour info mon tableau avec un format choisi parmi les format prédéfinis par Excel.

Merci de me proposer des solutions SVP

Bonjour,

En effet votre code il me marche bien mais il filtre les services qui sont colorés et non colorés dans la colonne K. moi je suis intéressé par filtrer un service dans la colonne E puis filtrer juste les couleurs rouge et orange correspondants à ce service dans la colonne K ensuite un ordre les couleurs rouges en premier suivi en bas par les couleurs orange. Voici un fichier en pièce jointe.

Merci,

15classeur1-v3.xlsm (22.91 Ko)
Rechercher des sujets similaires à "filtrer couleurs colonne"