Macro VBA- advancedfilter

Bonjour,

Je consulte très souvent le forum (où j'ai beaucoup appris d'ailleurs) et aujourd'hui je m'en remets à vous pour une macro que je n'arrive pas à cerner.

Le but de ma macro est de pouvoir, à partir d'une base de donnée dans une première feuillle (Data), filtrer sur des critères et obtenir le résultat de ce filtre dans une autre feuille (Filtre) où j'ai mes critères de filtre et la plage de cellule où j'aimerais voir afficher mon résultat.

Voici le code que j'ai, si quelqu'un arrive à déceler l'erreur que je ne trouve pas:

Sub Filtre_Dico()

Sheets("Data").Range("A1:J295").AdvancedFilter _

Action:=xlFilterCopy, _

CriteriaRange:=Sheets("Filtre") _

.Range("B5:E5"), _

CopyToRange:=Sheets("Filtre") _

.Range("A10:J4000"), _

Unique:=False

End Sub

Merci par avance

Bonjour,

La zone de critère comporte au moins 2 lignes : une pour les noms de champs et une mini pour les critères. Elle n'en a qu'une dans ton code.

Pour la zone cible, on n'indique que la première ligne, sur laquelle Excel collera les noms de champs... et il s'occupe du reste !

Sub Filtre_Dico()
    With Worksheets("Filtre")
        Sheets("Data").Range("A1:J295").AdvancedFilter xlFilterCopy, .Range("B5:E6"), .Range("A10:J10"), False
    End With
End Sub

NB- Inutile d'allonger le code... et en utilisant des noms de plages il serait encore plus court...

Cordialement.

Merci!

Rechercher des sujets similaires à "macro vba advancedfilter"