Moteur de recherche excel

benbzh Messages postés 3 Statut Membre -  
benbzh Messages postés 3 Statut Membre -
Bonjour,

Mon but : sous excel, remplacer le filtre automatique ( la sélection suivante "personnaliser/contient/...")
par une macro afin de créer un moteur de recherche.

Avec la macro suivante ça bugg :

Range("D5").Select
Selection.Copy
Selection.AutoFilter Field:=2, Criteria1:="=*AAAAA*", Operator:=xlAnd
End Sub

Le terme AAAAA correspond à ce qu'il y a d'écrit dans "D5" mais si je change la case "D5" je retrouve toujours AAAAA.

Comment faire pour qu'il considère "D5" en permanence.

Merci!
A voir également:

2 réponses

gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

Je te suggère d'utiliser plutôt ceci :

 
Range("A1:B1").AutoFilter Field:=2, Criteria1:="==D5", Operator:=xlAnd


Cela signifie que tu mets le filtre sur la première ligne et les deux premières colonnes : à toi d'adapter

Comme ton critère est en D5, tes données ne doivent pas être dans cette colonne, logiquement...

Ensuite tu sélectionnes dans la deuxième colonne ( Field:=2) la valeur souhaitée,
et celle-ci est valorisée dans la cellule D5 (Criteria1:="==D5" )

Voilà cela devrait mieux correspondre à ton problème.
0
benbzh Messages postés 3 Statut Membre
 
Merci mais ça n'a pas l'air de marcher.
si je tape =D5 dans le filtre il ne considère pas la cellule D5 mais la valeur même.

A+
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

il ne considère pas la cellule D5 mais la valeur même


Qu'entends-tu par ceci ?

La sélection se fait avec la valeur de D5 et c'est ce qu'il me semblait que tu désirais ?

Si tu changes la valeur, il faut refaire le filtre ou alors programmer un filtre événementiel lors du changement.
0
benbzh Messages postés 3 Statut Membre > gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention  
 
j'avoue ne pas être un expert, mais avec ce que tu m'as donné, la séléction ne se faisait pas par la valeur de la case mais il cherchait D5 dans ma liste.
Mon but est de ne pas avoir à passer par le filtre mais juste à remplir un mot clef dans une case pour chercher dans une liste.
je vais regarder ce que c'est le filtre événementiel, je ne connais pas.

merci
0