Recherche semi-auto dans excel

Résolu
Bonjour,
J'ai une liste magasin avec beaucoup d'articles. Je souhaiterai faire une recherche par saisie semi-auto càd dès que je tape une lettre tous les articles ne commençant pas par cette 1ère lettre ne s'affichent plus; de même pour les lettres suivantes.
exemple : pour rechercher la ligne savon (avec code désignation quantité ...) si je tape la lettre "s" seul les mots commençant par cette lettre reste à l'affichage
puis je tape la lettre "a" (donc "sa" pour le moment dans la recherche) et seul les articles en "sa" reste à l'affichage (savon , sabot, sacs etc .... )
Merci de vos superbes réponses
Configuration: Windows 2000 Internet Explorer 6.0

8 réponses

  1. Contributeur
    Bonjour,

    Merci Eric de ton intervention car je suis fâché avec les filtres ( j'ai dû tombé dedans quand j'étais petit)

    J'ai fourgonné ton fichier dans mon grenier.

    cordialement
    1. Contributeur
      Une fois n'est pas coutume, pour une fois que c'est moi qui t'apporte qcq chose... ;-)
      bonne journée
      eric
  2. Contributeur
    Bonjour tout le monde,

    Si tu peux filtrer ta liste sur place voici une autre possibilité que j'avais proposé qui utilise les filtres automatiques justement (avec un peu de code quand même).
    Voir ici

    eric
    1. Bonjour à tous et merci
      Eric ton fichier est exactement ce que je cherchais; un grand merci également à Michel qui m'a bien aidé.
      Super forum pour les débutants excel!
      Forumement
  3. Contributeur
    tout depend de la disposition comme je te l'ai indiqué !

    par ex: colonne A code; col Bb: désignation; col c=prix etc.

    que ce soit par formules ou macros
    1. Contributeur
      BOnjour,

      Excuses- moi, mais je pensais que Polux allait montrer une démo car sa proposition par filtre paraissait intéressante et je n'ai donc pas donné suite

      pour le 2
      modif en gras

      Private Sub TextBox1_Change()
      Dim tablo
      lettre = UCase(TextBox1.Value)
      If lettre = "" Then Exit Sub
      ReDim tablo(0)
      Range("C2:C150").ClearContents
      derlig = Sheets("liste").Range("A65536").End(xlUp).Row
      With Sheets("liste")
          For cptr = 1 To derlig
              test = .Cells(cptr, 1)
               If .Cells(cptr, 1) Like "*" & lettre & "*" Then
                  tablo(cptr_tablo) = .Cells(cptr, 1)
                  cptr_tablo = cptr_tablo + 1
                  ReDim Preserve tablo(cptr_tablo)
              End If
      Next
      End With
      Cells(2, 3).Resize(UBound(tablo) + 1, 1) = Application.Transpose(tablo)
      
      End Sub


      Pour le 1 si les données sont à droite de la désignation tu peux employer le fonction "rechercheV" sinon il faut employer la fonction imbriquée index-equiv
      1. Salut Michel
        Merci bcp pour le 2 tout marche super biern : c'est énorme
        Quant au 1 serait-il possible de l'intégrer dans la macro, par exemple en affichant dans C onglet recherche la recherche de A onglet liste et B onglet liste ?
        Merci encore
    2. Bonjour
      Serait-il possible avec le principe de Michel qui marche à merveille
      1 : de rappatrier la valeur de la ligne (ou d'une colonne supplémentaire) et non de la seule cellule dans le résultat de la recherche ?
      2 : et encore mieux au niveau de la recherche, de pouvoir l'effectuée non pas par l'exactitude du libéllé mais par n'importe quelle lettre ou chiffre contenus dans le libellé (exle : si acetone 1 litre pouvoir faire la recherche par "1" ou "litre"....)
      Cordialement
      PS : et encore merci à Michel pour cette déjà grde avancée.
      1. Bonjour Michel,

        On peut se servir des filtres pour obtenir la même chose, sans passer par du code ... ^^

        ;o)
        1. Contributeur
          bonjour nicos, polux

          regarde si le principe ci joint te convient
          https://www.cjoint.com/?kwoLGa55MX

          edit: voir également cette astuce de gbinforme( bonjour)
          https://www.commentcamarche.net/applis-sites/bureautique/549-creer-des-listes-deroulantes-dans-excel/
          1. Bonjour
            Michel le principe me convient mais il faut encore quelques modif !
            J'aimerai pouvoir dans cette recherche afficher une autre colonne liée aux recherches (dans cette autre colonne il y a le code article qui m'intéresse).
            De plus je souhaiterai que la recherche ne se fasse pas que par les premières lettres mais par exemple quand l'article "savon liquide 1L" je puisse chercher soit "1L" soit "liquide" ....
            Merci bcp
          2. Bonjour,

            Le lien du fichier ne fonctionne plus, peut on le télécharger quelque part?
          3. merci beaucoup
        2. Bonjour,

          Où tapes-tu l'article ? dans une cellule particulière ? dans un formulaire ?

          Que veux-tu dire par "reste à l'affichage " ? Tu supprimes les lignes ne correspondant pas aux critères ou tu les masques ?
          1. Bonjour
            Pour le "reste à l'affichage" se serait plutôt masquer les autres articles.
            Pour taper l'article, se serait soit dans une cellule du fichier excel soit pourquoi pas dans une nouvelle fenetre par un clic sur une case "recherche".
            (le plus simple : je tape dans la cellule recherche en A2 les lettres "sa", seul les mots en "sa" reste affichés (les autresd serait masqués) et là je vois de suite le code de l'article "savon que je recherchai.
            Voilà voilà