Liste déroulante avec saisie automatique

nonifel

XLDnaute Junior
Bonjour,

Je souhaite avoir une liste déroulante avec saisie automatique. Je tape les premières lettres, Excel me propose les choix de la liste.

Merci pour votre aide.
 

Pièces jointes

  • Validation Données.xlsx
    9.1 KB · Affichages: 25
  • Validation Données.xlsx
    9.1 KB · Affichages: 26
  • Validation Données.xlsx
    9.1 KB · Affichages: 27

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Liste déroulante avec saisie automatique

Bonsoir,

Saisie intuitive dans combobox type Google (caractère par caractère)

-cliquer en E3
-frapper AG pour agence
-Double-clic pour tous

-On peut aussi frapper le début d'un mot contenu dans l'item cherché;
- ass pour assurance
- sex pour sextius

Filtre.gif

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([e3:e3], Target) Is Nothing And Target.Count = 1 Then
    a = Application.Transpose(Sheets("feuil1").Range("liste").Value)
    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
  Else
    ActiveCell = Me.ComboBox1
  End If
End Sub

Listes en cascade

JB
 

Pièces jointes

  • Validation Données.xlsm
    26.5 KB · Affichages: 52
  • Filtre.gif
    Filtre.gif
    12.9 KB · Affichages: 25
  • Filtre.gif
    Filtre.gif
    12.9 KB · Affichages: 20
Dernière édition: