Filtrer un Tableau suivant une liste

Bonjour à toutes et à tous,

J'ai un fichier Excel qui comporte des données dont je dois sélectionner uniquement les lignes qui correspondent à une liste bien déterminée de codes : Habituellement je fais cette sélection manuellement et là le nombre de fichiers reçus chaque mois est entrain de se multiplier, pour cela j'espère que quelqu'un peut m'aider à faire une Macro qui remplace le traitement manuel

PS:Pour faire ce travail manuellement, je dois insérer une colonne pour dissocier le code Rubrique (à l'aide de la formule Gauche), ensuite faire une recherchev pour sélectionner les codes qui existent dans ma liste (Liste Rubrique) et finalement je supprime les lignes qui ne sont pas repérés...

veuillez trouver ci-joint mon fichier qui comporte les feuilles suivantes :

  • Feuil1 : Le fichier initial
  • Liste Rubrique : Ma liste de référence
  • Résultat Souhaité : C'est mon résultat après sélection des lignes concernés

D'avance, merci pour votre aide

Bonjour,

Une proposition

A+

Bonjour Frangy,

Merci beaucoup pour votre retour rapide

je viens de la tester 2 fois, et ça l'air d'être bien

Thanks a lot

Frangy,

Comment faire pour que le résultat soit trier suivant la colonne H (du plus petit au plus grand) ?

Merci

Tu peut obtenir facilement le code pour filtrer avec l'enregistreur de macro

Option Explicit
Sub Supprimer_Rubriques_Absentes()
Dim Ws As Worksheet
Dim Ligne As Long, DerLig As Long
    Application.ScreenUpdating = False
    Set Ws = Worksheets("Liste")
    With Worksheets("Base")
        For Ligne = .Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
            If Application.CountIf(Ws.Columns(1), Left(.Range("G" & Ligne).Value, 4)) = 0 Then
                .Rows(Ligne).Delete
            End If
        Next Ligne
        DerLig = .Range("A" & Rows.Count).End(xlUp).Row
        With .Sort
            .SortFields.Clear
            .SortFields.Add Key:=Worksheets("Base").Range("H2:H" & DerLig), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Worksheets("Base").Range("A1:M" & DerLig)
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
End Sub

A+

Merci beaucoup

A+

Rechercher des sujets similaires à "filtrer tableau suivant liste"