Moteur de recherche excel

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!
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Contributeur
    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
    1. 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
      1. Contributeur
        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
      2. @gbinformej'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