Supprimer des lignes d'un tableau en fonction de la couleur des cellules

Bonjour,

Je possède un tableau de suivi de vente d'objets :

1

Comme mon tableau peut être très grand (en gros 1000L*100C), je souhaiterais automatiser la manipulation suivante :

Supprimer totalement la ligne si elle ne contient aucune cellule de couleur bleue foncée ou verte, peu importe la valeur de la cellule.

Dis autrement, je souhaite donc conserver uniquement les lignes contenant au moins une cellule bleue foncée ou verte, et supprimer toutes les autres.

Je précise que les cellules ne sont pas colorées par une MFC, c'est bien une couleur de remplissage classique.

Résultat attendu :

2

Un grand merci par avance !

20test.xlsx (14.05 Ko)

Bonjour,

Teste le code suivant :

Sub Supp_Lig_non_color()
Dim DerLig As Long, I As Long
Dim G As Byte, B As Byte
Dim C As Range
Dim Flag As Boolean
DerLig = Cells(Rows.Count, "A").End(xlUp).Row 'calcul de la dernière ligne
For I = DerLig To 2 Step -1 'on balaie de la dernière ligne à la ligne 2
    Flag = False 'on fixe la valeur booléenne à Faux
    G = 0: B = 205 'RGB du bleu 0, 0, 205
    Application.FindFormat.Clear 'on supprime les anciennes recherches
    Application.FindFormat.Interior.Color = RGB(0, G, B) 'on définit la couleur à rechercher
    Set C = Rows(I).Find("", SearchFormat:=True) 'on cherche la couleur
        If Not C Is Nothing Then Flag = True 'si on l'a trouvée, on met la valeur à Vrai
    G = 176: B = 80 'RGB du vert 0, 176, 80
    Application.FindFormat.Clear 'on supprime les anciennes recherches
    Application.FindFormat.Interior.Color = RGB(0, G, B) 'on définit la couleur à rechercher
    Set C = Rows(I).Find("", SearchFormat:=True) 'on cherche la couleur
        If Not C Is Nothing Then Flag = True 'si on l'a trouvée, on met la valeur à Vrai
    If Not Flag Then Rows(I).Delete 'au bout des 2 recherches par ligne, si on n'a rien, on supprime
Next I 'ligne suivante
End Sub

Bon courage

Un très grand merci, cela fonctionne parfaitement !

Rechercher des sujets similaires à "supprimer lignes tableau fonction couleur"