re,
comme ceci (mais vos données sont un tableau structuré pour le moment) ?
Private Sub TextBox1_Change()
Dim x, y, Prefix As String, Arr, c
With Sheets("Automation")
Prefix = .Range("B2").Value
Set c = Range("Tabel1")
x = Filter(Evaluate("transpose(if(left(offset(tabel1,,,,1)," & Len(Prefix) & ")=" & Chr(34) & Prefix & Chr(34) & ",row(tabel1)-" & c.Row - 1 & "))"), False, 0) 'les lignes à filtrer
y = Evaluate(Replace("column(offset(tabel1,,,1,))-#", "#", c.Column - 1)) 'toutes les colonnes
With .Range("C5")
.Resize(100, UBound(y)).ClearContents 'vider la plage
If UBound(x) = -1 Then Exit Sub 'rien à filtrer
Arr = Application.Index(Range("tabel1").Value2, Application.Transpose(x), y) 'le résultat du filtrage
If UBound(x) = 0 Then 'si le résultat n'est qu'une ligne, il faut transponer cette ligne
.Resize(, UBound(Arr)) = Arr
Else
.Resize(UBound(Arr), UBound(Arr, 2)) = Arr
End If
End With
End With
End Sub