Filtrer un tableau selon critere

Bonjour,

Je vous expose mon problème : je suis régulièrement amené à filtrer un tableau selon un critère défini et qui en plus n'est pas sur la même feuille, ce qui est très laborieux.

En fait je souhaiterais qu'Excel filtre automatique ce tableau selon le critère défini.

Je vous joint un fichier pour mieux comprendre.

Merci par avance :)

Cdt

Bonjour,

Voici une proposition, j'ai supprimé le lien hypertexte et remplacé par une liste déroulante.

Cdlt

Bonjour

Bonjour à tous

Une variante.

By

Bonjour à toutes et tous,

Une autre variante.
Cdlt.

20fbidee.xlsm (41.12 Ko)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lo As ListObject
    If Target.Address = "$B$1" Then
        With Worksheets("tableau").ListObjects(1)
            If .ShowAutoFilter Then .AutoFilter.ShowAllData
            If Not IsEmpty(Target) Then .Range.AutoFilter 1, Target.Value
        End With
    End If
End Sub

Bonjour à tous

Pourquoi ne pas tout simplement utiliser un segment ?

Merci beaucoup !

@Arturo83 : Très efficace cette solution, j'adore ! Je l'ai adapté à mon fichier excel, le seul soucis c'est que j'aimerais modifier le paramètre de colonne filtrée, actuellement cette macro ne filtre que la 1ere colonne, j'aimerais l'adapter pour qu'il filtre la 2eme par exemple. Pouvez-vous me donner la solution ?

@gmb : Vous m'aviez déjà aidé par le passé, je suis curieux de voir votre variante, mais vous avez oublié le fichier joint

@Jean-Eric : Merci pour cette variante, elle fonctionne bien, sauf qu'elle ne permet pas d'aller directement sur la feuille du tableau en question

@78chris : Pour être franc je ne connaissais pas du tout les segments Merci beaucoup pour cette astuce qui va m'être utile à plusieurs reprise. Dans mon cas, cela n'est pas suffisant (je souhaite que le critère m'amène sur la feuille tableau filtré)

Merci à tous ;)

Cdt

"actuellement cette macro ne filtre que la 1ere colonne, j'aimerais l'adapter pour qu'il filtre la 2eme par exemple. "

Pour appliquer le filtre sur la 2ème colonne , il suffit de remplacer la valeur du champ Field:=1 par Field:= 2 dans la ligne suivante

Sheets("tableau").ListObjects("Tableau1").Range.AutoFilter Field:=1, Criteria1:=Crit

Re,

Une petite modification !?
Cdlt.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lo As ListObject
    If Target.Address = "$B$1" Then
        With Worksheets("tableau").ListObjects(1)
            If .ShowAutoFilter Then .AutoFilter.ShowAllData
            If Not IsEmpty(Target) Then
                .Range.AutoFilter 1, Target.Value
                Application.Goto Worksheets("tableau").Cells(1), scroll:=True
            End If
        End With
    End If
End Sub

Un grand merci !

Rechercher des sujets similaires à "filtrer tableau critere"