Option Explicit
Dim a, d1()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
a = [liste].Value
Me.ComboBox1.List = a
End Sub
Private Sub ComboBox1_Change()
Set d1 = CreateObject("Scripting.Dictionary")
tmp = UCase(Me.ComboBox1) & "*"
For Each c In a
If UCase(c) Like tmp Then d1(c) = ""
Me.ComboBox1.List = d1.keys
Me.ComboBox1.DropDown
Next
End Sub
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then ActiveCell = Me.ComboBox1: Unload Me
End Sub