Macro recherche plusieurs critères cellule

Résolu
mickysor -  
 mickysor -
Bonjour,

Dans la colonne a:a Je souhaiterais créer une macro de recherche.le problême c'est que je souhaiterais pouvoir faire une recherche multi critères.par exemple dans la cellule a3 il y a italie rome 133.je souhaiterais pouvoir rechercher "italie 133" par exemple.
Merci pour votre aide

8 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    Tu ne précises pas si tu veux les références ou un filtre...
    Une proposition de filtre dynamique :
    Filtre multiple.xls

    eric
    3
    1. mickysor
       
      Bonjour,
      Comment as tu fait ce fitre dynamique c'est exactement ce que je voulais!!!
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      En vba, clic-droit sur le nom de l'onglet de la feuille et 'visualiser le code...'
      eric
      0
  2. melanie1324
     
    Bonjour,

    je sais pas si c'est exactement ce que tu veux mais voila une piste :

    un conseil appuie sur F8 (ca déclenche le code ligne par ligne) et pose ta souris sans cliquer sur cellule pour bien comprendre ce que cela fait

    Sub x()

    texte = InputBox("Merci d'indiquer le texte recherché :", "texte recherché") ' permet à l'utilisateur de rentrer ce que tu cherches
    If texte <> "" Then 'si tu n'as rien rentré, la macro s'arrête
    i = 2 ' commence à la 2ème ligne
    Do While Cells(i, 1) <> "" 'la boucle tourne jusqu'à ce que tu n'ais rien dans une cellule de la colonne A
    nbtexte = Len(texte) 'nbtexte = nbre de caractères du texte recheché
    cellule = Cells(i, 1) 'cellule est égale à la valeur contenue dans ta cellule
    Do While Len(cellule) > 0
    If UCase(Left(cellule, nbtexte)) = UCase(texte) Then
    'mets ici ce que ca doit faire lorsque tu as trouvé ton texte
    cellule = "a"
    End If
    cellule = Right(cellule, Len(cellule) - 1)
    Loop
    i = i + 1
    Loop
    End If

    End Sub
    0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    upeut etre quelque chose comme ça

    For li = 21 To 24
      a = InStr(1, Cells(li, 1), "Italie")
      b = InStr(1, Cells(li, 1), "133")
      If a * b > 0 Then
       MsgBox ("trouvé" & " - " & li)
     End If
    Next li


    RQ. attention a la casse, sinon Ucase transforme en majuscule

    bonne suite
    0
  4. melanie1324
     
    Bonjour,

    mais la fonction ucase permet de transformer en majuscule, comme ca ca permet de comparer deux textes identiques et pas de problème d'accent.

    de plus, ton code ne permet la recherche que de italie 133 alors que le mien, tu peux rechercher n'importe quel texte.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    > melanie

    tu as tout a fait raison, je voulais suggerer une idée pour repondre simplement a la question posée
    mais
    le texte cherché est une partie du contenu de la cellule, donc instr s'impose.

    bonne journée
    0
  7. mickysor
     
    Bonsoir,désolé mélanie ta macro ne fonctionne pas sur excel 2003
    0
  8. mickysor
     
    peu être est t'il possible de faire ce type de recherche avec une formule?
    0
  9. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    dans la cellule tu as ce type de donnée, exemple en A1 tu as Italie Rome 133 !

    si oui, et si je comprends bien dans la colonne A tu as plusieurs données identiques Italie Rome 133 ou sont elles différentes comme Italie 133 !
    0
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      bonjour mike-31

      c'est ce que j'ai compris, c'est pour ça que j'ai propose instr dans le post 2

      bonne suite
      0
    2. mickysor
       
      merci je vais essayer
      0
    3. mickysor
       
      j'ai rajoute le code mais je pense qu'il faut créer un bouton specifique recherche
      0
    4. mickysor
       
      j'ai reussi!! vous pouvez le mettre en resolu.je ne sais pas comment faire sur ces post
      0