Comment filtrer zone de liste de valeurs basée sur une zone de texte valeur

J'ai un textbox et un contrôle listbox sur userform. Je veux filtrer les valeurs dans la listbox basé sur la valeur que j'ai entrer dans la zone de texte. Feuille nommée TMP a les valeurs et je filtre sur la base de zone de texte modifier l'événement, mais il se ferme automatiquement lors de l'ajout que les valeurs de zone de liste.

Private Sub Textbox1_Change()
'On Error Resume Next
Dim fCell As Range, MyArr As Variant, i As Long

With TMP
    .AutoFilterMode = False
    .Range("A1").AutoFilter
    .Range("A1").AutoFilter Field:=1, Criteria1:=Me.TextBox1.Value
End With

ListBox1.RowSource = ""
i = 0

For Each fCell In TMP.Range("A1:A" & TMP.Range("A" & TMP.Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible)
    Me.ListBox1.AddItem fCell.Value, i
     i = i + 1
Next fCell


End Sub

OriginalL'auteur Rohan | 2017-03-18