Dim a(), f
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set f = Sheets("bd")
Set zSaisie = Range("D3:D100") 'zone de saisie
If Not Intersect(zSaisie, Target) Is Nothing And Target.Count = 1 Then
a = Application.Transpose(f.Range("a1:a" & f.[A65000].End(xlUp).Row))
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
Else
Me.ComboBox1.Visible = False
End If
End Sub
Private Sub ComboBox1_Change()
Me.ComboBox1.List = Filter(a, Me.ComboBox1.Text, True, vbTextCompare)
Me.ComboBox1.DropDown
ActiveCell.Value = Me.ComboBox1
End Sub