Trie sur cellules sans couleurs

Bonjour

Avec quelques difficultés pour l’élaboration d’une macro, je sollicite votre aide.

Sur une feuille Excel de plusieurs colonnes et plusieurs lignes (A1 :K122), je colorie les cellules des colonnes C, D et G sur trois critères, Vert pour les items ok, Orange pour les Items à surveiller et rouge pour les items non Ok.

Il me reste une série de lignes qui ne sont pas trié ou catégorisée.

J’utilise actuellement cette ligne de code.

    ActiveSheet.Range("$A$1:$K$122").AutoFilter Field:=3, Criteria1:=RGB(0, _
        255, 0), Operator:=xlFilterCellColor

Mais cela ne fonctionnes pas toujours.

Comment puis-je filtrer mes colonnes C, D et G pour n’afficher que les lignes dont il n’y a pas de couleur, donc le restant des cellules à trier.

voicie le code complet

Sub Trie_des_données()
 ' Recherche si l'onglet existe
    For n = 1 To Sheets.Count
    If Sheets(n).Name = "FS" Then
        trouve = True
        Exit For
        End If
        Next n

        If trouve Then
'Set fe = Sheets("FT")
    Sheets("FS").Select

' Maquette et MNU
    With Range("C:C,D:D,G:G")
    .Replace What:="Maquette", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=True
    .Replace What:="MNU", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=True

    With Application.ReplaceFormat.Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent5
        .TintAndShade = 0.599963377788629
        .PatternTintAndShade = 0
    End With
    End With

' PCP
    With Range("C:C,D:D,G:G")
        .Replace What:="pcp", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=True
    With Application.ReplaceFormat.Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    End With

' Coût 0
        With Range("C:C,D:D,G:G")
            .Replace What:="Cout 0", Replacement:="", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=True
            .Replace What:="Coût 0", Replacement:="", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=True
            .Replace What:="Coût zero", Replacement:="", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=True
            .Replace What:="Coût zéro", Replacement:="", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=True
            .Replace What:="Cout zéro", Replacement:="", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=True
            .Replace What:="Cout zero", Replacement:="", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=True
            With Application.ReplaceFormat.Interior
                .PatternColorIndex = xlAutomatic
                .ThemeColor = xlThemeColorAccent5
                .TintAndShade = 0.599963377788629
                .PatternTintAndShade = 0
            End With
        End With
' Crée filtres

        If Not ActiveSheet.AutoFilterMode Then Range("A1:K1").AutoFilter ' Créer filtre ci absent

' MEP des filtres

    ActiveSheet.Range("$A$1:$K$122").AutoFilter Field:=3, Criteria1:=RGB(0, _
        255, 0), Operator:=xlFilterCellColor
    ActiveSheet.Range("$A$1:$K$122").AutoFilter Field:=7, Criteria1:=RGB(0, _
        255, 0), Operator:=xlFilterCellColor
    ActiveSheet.Range("$A$1:$K$122").AutoFilter Field:=4, Criteria1:=RGB(0, _
        255, 0), Operator:=xlFilterCellColor

    Derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row

    MsgBox "Filtrée sur les colonnes ( C, D et G)" & Chr(10) & "Valider les autres données"
    MsgBox "Il reste (" & Range("B1:B" & Derlig).SpecialCells(xlCellTypeVisible).Count - 1 & ") solutions a trier"

    Else
    MsgBox "pas se solution à trier" & Chr(10) & "Traitement abandoner"
    End If
End Sub

Merci d’avance

Bonjour, voilà une proposition qui balaye toutes les cellules de la plage et teste si la cellule n'a pas de couleur (couleur par défaut)

Dim maCellule as Range

For each maCellule in Range("A1:K122")
If maCellule.Interior.ColorIndex = -4142 Then
   'actions à faire
End If
Next maCellule

Merci beaucoup.

Je vais travailler dans ce sens.

Rechercher des sujets similaires à "trie couleurs"