Macro excel: pb de copier/coller dans filtre

Résolu/Fermé
Léon - 19 mai 2011 à 15:03
 Léon - 20 mai 2011 à 15:51
Bonjour,


Je bloque sur une commande de macro excel, je pense que c'est tout bête mais impossible de trouver: ma macro doit copier la cellule d'une feuille, et la copier dans le filtre "contient" d'une autre feuille (la base de donnée)

A la première exécution ça marche, mais quand je change la valeur de la cellule de départ, pour que la macro aille donc chercher celle là dans l'autre onglet, je me retrouve avec la première

J'ai essayé de modifier le code en renommant ma cellule, en remettant même le chemin d'accès, mais j'ai l'impression qu'il n'est pas possible d'inclure une variable dans une commande de filtre... Je vois vraiment pas comment contourner le truc.

Voila le code vba initial au cas où:
Range("B2").Select
ActiveCell.FormulaR1C1 = "draguignan"
Sheets("Base UU").Select
ActiveSheet.Range("$A$1:$J$36612").AutoFilter Field:=5, Criteria1:= _
"=*draguignan*", Operator:=xlAnd


Merci d'avance de vos réponse!

A voir également:

5 réponses

melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 155
19 mai 2011 à 16:45
Bonjour,

Il est tout à fait possible d'introduire une variable mais la ou il faut l'introduire est :

actuellement ton code :
ActiveSheet.Range("$A$1:$J$36612").AutoFilter Field:=5, Criteria1:= _
"=*draguignan*", Operator:=xlAnd

signifie qu'il fltre sur draguignan.

rentres une varaible du style :
filtre= sheets("feuil1").cells(1,1) 'il faut que tu mets la cellule qui contient draguignan ou autre cells(ligne,colonne) et modifies le nom de feuille et réécris ton code comme ca :

ActiveSheet.Range("$A$1:$J$36612").AutoFilter Field:=5, Criteria1:= _
"=" & filtre, Operator:=xlAnd
0
Merci pour ta réponse, j'ai essayé ce code mais ça ne marche toujours pas, le critère de recherche dans le filtre devient "FALSE" et la macro se bloque...
0
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 155
20 mai 2011 à 10:48
j'ai fait une erreur dans l'écriture, essaie comme ca :

ActiveSheet.Range("$A$1:$J$36612").AutoFilter Field:=5, Criteria1:= filtre, Operator:=xlAnd
0
C'est bon ça marche très bien en définissant la variable avant la commande du filtre,

Merci beaucoup pour tes conseils!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Et où est-ce que tu rentres la définition de ta variable filtre=sheets("feuille1") etc, etc ?
-1