Filtre élaboré de manière dynamique

A

Arsene

Guest
Re bonjour tout le monde!

Nouveau problème du jour...
J'aimerai pouvoir utiliser le filtre élaboré de manière dynamique, c'est à dire que la zone qui va servir de Critères n'est pas fixée.
Ainsi, voici un exemple de code que j'ai tenté et qui ne fonctionne pas:


Dim filtreuse as string
filtreuse = "A1:C4"

Range("Tab_donnees").AdvancedFilter Action:=xlFilterCopy,CriteriaRange:=Sheets("Filtres").Range(filtreuse), CopyToRange:=Range("M1"), Unique:=False


Filtres : La feuille qui contient tous les critères possibles.
Tab_donnees : Une zone de type Range que l'on va filtrer
filtreuse : contient les coordonnées de la zone de critères, APPAREMMENT LE PROBLEME VIENT DE LA...
En gros le filtre fonctionne quand dans la commande de filtre je remplace directement "filtreuse" par "A1:C4", mais ne fonctionne pas quand j'appelle la commande avec filtreuse qui contient pourtant exactement "A1:C4"...

Comprends pô moi...

Si vous avez une idée, n'hésitez pas un instant à me la faire partager, je vous en serais infinimment reconnaissant!

Merci d'avance.
 
A

Arsene

Guest
Bon, c'est bon j'ai résolu le probleme en préfixant toutes mes range avec la worksheet qui correspond.
Des fois je me dis que VBA est bien chiant! Mais bon j'ai trouvé le truc! ^^

Signé Arsene, qui est fier d'avoir trouvé son problème après seulement 1 heure de débuggage! :p
 
A

Arsene

Guest
Bonjour,
voilà la commande qui marche chez moi:

Worksheets(base).Range("Tab_donnees").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets _
("Filtres").Range(donnees_selectionnees), CopyToRange:=Worksheets(base).Range("M1"), _
Unique:=False

donnees_selectionnees est une variable string qui contient la référence de la zone de critere sélectionnée par l'utilisateur.

Voili voilou.
 

Discussions similaires

Réponses
40
Affichages
2 K

Statistiques des forums

Discussions
313 137
Messages
2 095 626
Membres
106 307
dernier inscrit
LETIFI