Bonjour,

Je viens d'adapter un dictionnaire à mon cas sur une liste déroulante restrictive, c’est-à-dire que la sélection se réduit avec les premières lettres tapées.
Et avec des noms de sociétés commençant par SA, EURL, ETS.. il faut l'utilisation de "*" like.
Mais Dans ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub ComboBox1_Change()
   [G2] = Me.ComboBox1
   If [G2] = "" Then [G2] = " "
   Set d = CreateObject("Scripting.Dictionary")
   tmp = Me.ComboBox1 & "*"
   For Each c In choix
      If c Like tmp Then d(c) = ""
   Next c
   Me.ComboBox1.List = d.keys
   Me.ComboBox1.DropDown
   Sheets("BD").Range("A1:J10000").AdvancedFilter Action:= _
        xlFilterCopy, CriteriaRange:=[G1:G2], CopyToRange:=[A5:J5]
End Sub
Je comprends pas le d(c) = ""
Et j'aurais mis d(c) .add mais çà passe pas.
LD progressive avec dico.xlsm
Merci de m'expliquer.