Mettre une variable critere filtre avancé

Résolu/Fermé
thyroox Messages postés 34 Date d'inscription jeudi 27 juillet 2017 Statut Membre Dernière intervention 25 février 2022 - 2 mai 2018 à 11:54
thyroox Messages postés 34 Date d'inscription jeudi 27 juillet 2017 Statut Membre Dernière intervention 25 février 2022 - 30 mai 2018 à 15:36
Bonjour,

J'aimerai intégrer une variable dans le code du filtre avancé :


Workbooks("TEST.xlsx").Sheets("Feuil1").Range("A4:AN1048576").AdvancedFilter _
        Action:=xlFilterCopy, CriteriaRange:=Range("A1:A4"), CopyToRange:=Range( _
        "A8"), Unique:=False



Ainsi au lieu de CriteriaRange:=Range("A1:A4"), je voudrai quelques choses de ce style CriteriaRange:=mavariable


Savez vous comment je peux faire ?


Merci d'avance

2 réponses

thev Messages postés 1770 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 11 novembre 2021 667
2 mai 2018 à 13:23
Bonjour,

Il suffit de définir une variable objet de type Range, comme ceci

Dim plage_critère as Range

set plage_critère = Range("A1:A4")
Workbooks("TEST.xlsx").Sheets("Feuil1").Range("A4:AN1048576").AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=plage_critère, CopyToRange:=Range( _
"A8"), Unique:=False

1
thyroox Messages postés 34 Date d'inscription jeudi 27 juillet 2017 Statut Membre Dernière intervention 25 février 2022 1
2 mai 2018 à 14:03
Merci Thev de votre réponse,


Je me suis rendu compte que je m'étais mal expliqué. Je souhaite renseigner directement un critère ou une variable au lieu d'une plage de cellule.

Comme par exemple :

Dim ma_variable as Variant

ma_variable = "uncritère"
0