Recherche directe dans à partir d'une longue liste déroulante

chatouille36 Messages postés 5 Statut Membre -  
Raymond PENTIER Messages postés 58229 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Mise en situation : j'ai fait une liste déroulante et cette HYPER grande liste est impossible à mettre en ordre alphabétique car parfois il y a des articles devant les noms principaux : la,la,les........

lorsque je suis dans mon fichier....et que je clique sur la petite flèche qui me permet de voir ma liste déroulante, y a-t-il une façon de faire une recherche en inscrivant, en partie, le nom principal et qu'Excel m'apporte ce qui se rapproche le plus de ce que je recherche ??

Merci !!!!!

5 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    voyez ce modèle qui semble correspondre à ce que vous demandez

    https://www.cjoint.com/c/EImlE0T31yr

    il ulise la colonne B comme intermédiaire de codage pour
    détecter les textes à conserver

    On peut faire varier ce codage pour détecter n'importe quelle partie du texte en E2 plutôt que les premières lettres

    les explications sont dans le modèle

    Par exemple écrire al ne peut détecter que les textes qui commencent par al, mais on pourrait avec une variante détecter tout et seulement ce qui contient al

    par exemple, dans la même liste:
    usine d'aluminium
    rue des alouettes
    place de l'allégorie
    allée du roi
    ect..

    revenez si besoin

    crdlmnt

    Errare humanum est, perseverare diabolicum
    3
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Pour compléter (un peu) la proposition (une variante) de Vaucluse que je salue amicalement
    B2=SI($E$2="";"";SI(ESTERR(TROUVE($E$2;A2;1));"";SI(TROUVE($E$2;A2;1);MAX($B$1:B1)+1;"")))
    à tirer vers le bas, permet de limiter la liste de validation aux cellules contenant l'expression en E2

    Cordialement
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Salut CCM

      ... où peut être un peu plus simplement en B2:

      =SI(NB.SI(A2;"*"&B2&"*");MAX($B$1:B1)+1;"")

      Crdlmnt
      0
  3. Boisgontierjacques Messages postés 177 Statut Membre 64
     
    Bonjour,

    Pour une recherche avec les lettres contenues dans l'item cherché

    Dim a()
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect([A2:A16], Target) Is Nothing And Target.Count = 1 Then
    a = Application.Transpose(Sheets("bd").Range("liste"))
    Me.ComboBox1.List = a
    Me.ComboBox1.Height = Target.Height + 3
    Me.ComboBox1.Width = Target.Width
    Me.ComboBox1.Top = Target.Top
    Me.ComboBox1.Left = Target.Left
    Me.ComboBox1 = Target
    Me.ComboBox1.Visible = True
    Me.ComboBox1.Activate
    'Me.ComboBox1.DropDown ' ouverture automatique au clic dans la cellule (optionel)
    Else
    Me.ComboBox1.Visible = False
    End If
    End Sub

    Private Sub ComboBox1_Change()
    If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then
    Me.ComboBox1.List = Filter(a, Me.ComboBox1.Text, True, vbTextCompare)
    Me.ComboBox1.DropDown
    End If
    ActiveCell.Value = Me.ComboBox1
    End Sub

    http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DVComboBoxIntuitif_lettresContenues.xls

    Boisgontier
    0
    1. chatouille36 Messages postés 5 Statut Membre
       
      Merci Monsieur...premierement mon Excel 2010 est en français et deuxièmenent je ne suis pas familière avec les macros....serait-il possible de m'expliquer plus en détail comment faire ??????.....merci :)
      0
    2. chatouille36 Messages postés 5 Statut Membre
       
      Voici un lien où j'ai mis mon fichier...serait-il possible de me faire le ''combobox'' à partir de ce fichier ?....merci...la liste déroulante doit être dans l'onglet ''dépôt'' sous le titre ''NOM''
      https://www.cjoint.com/c/EIqwDU6kavR

      Merci !!!
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Boisgontierjacques Messages postés 177 Statut Membre 64
     
    >premierement mon Excel 2010 est en français

    Le mien aussi!

    -Créer un combobox:
    -Onglet développeur
    -Insérer ActiveX ComboBox
    -Propriétés du ComboBox: MatchEntry à None

    (voir copie écran dans fichier du post précédent)

    Code:
    -Clic-droit sur le nom d'onglet
    -Visualiser le code
    -Copier/coller du code

    Boisgontier
    http://boisgontierjacques.free.fr
    0
    1. chatouille36 Messages postés 5 Statut Membre
       
      Ouffff je crois bien que je suis nulle....il faut que je me positionne OU ?? pour faire cela ?
      0
      1. Raymond PENTIER Messages postés 58229 Date d'inscription   Statut Contributeur Dernière intervention   17 491 > chatouille36 Messages postés 5 Statut Membre
         
        Chatouille, comme moi, tu n'y connais rien en macros.
        Alors, en attendant que tu découvres le langage VBA, contente-toi d'utiliser la formule de Vaucluse.
        0