Trie sur cellules sans couleurs.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jose.carreira

XLDnaute Junior
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 cette ligne de code.
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.

Ci joint les code complet.
Code:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
423
Réponses
1
Affichages
248
Réponses
3
Affichages
515
Réponses
12
Affichages
804
Retour