Sub Import()
If MsgBox("Etes-vous sûr qu'il s'agit d'un nouveau tableau ?", 4, "Import") = 7 Then Exit Sub
Dim tablo, d As Object, i&, ncol%, n&, j%
tablo = Sheets("Utilisateurs").[B4].CurrentRegion.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments, à adapter
Set d = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(tablo)
d(CStr(tablo(i, 1))) = ""
Next i
With Sheets("BD_CF").[A1].CurrentRegion.Offset(2) 'à adapter
ncol = .Columns.Count
If ncol = 1 Then ncol = 2 'au moins 2 éléments
tablo = .Resize(, ncol) 'matrice, plus rapide
End With
'---filtrage---
For i = 1 To UBound(tablo)
If d.exists(CStr(tablo(i, 1))) Then
n = n + 1
For j = 1 To ncol
tablo(n, j) = tablo(i, j)
Next j
End If
Next i
'---restitution---
With Sheets("CF")
If .FilterMode Then .ShowAllData 'si la feuille est filtrée
If n Then .Cells(.Rows.Count, 4).End(xlUp)(2).Resize(n, ncol) = tablo
End With
End Sub