Sub Importer()
Dim col1%, col2%, a, ub%, util, d As Object, i&, tablo, resu(), j%, v As Variant, n&
col1 = 1: col2 = 10 'à adapter
a = Array(2, 3, 5, 6, 10, 12, 14) 'numéros des colonnes à copier
ub = UBound(a)
'---mémorise les utilisateurs---
util = Sheets("Utilisateurs").[A1].CurrentRegion.Resize(, 2)
Set d = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(util)
d(UCase(util(i, 1)) & Chr(1) & util(i, 2)) = ""
Next i
'---tableau des résultats---
tablo = Sheets("BD").[A1].CurrentRegion.Resize(, a(ub))
ReDim resu(UBound(tablo), ub) 'base 0
For i = 2 To UBound(tablo)
If d.exists(UCase(tablo(i, col1)) & Chr(1) & tablo(i, col2)) Then
For j = 0 To ub
v = tablo(i, a(j))
If IsNumeric(v) Then resu(n, j) = CDbl(v) Else resu(n, j) = v
Next j
n = n + 1
End If
Next i
'---restitution---
With Sheets("Crédit")
If .FilterMode Then .ShowAllData 'si la feuille est filtrée
If n Then .Cells(.Rows.Count, 4).End(xlUp)(2).Resize(n, ub + 1) = resu
End With
'---RAZ---
With Sheets("BD")
If .FilterMode Then .ShowAllData 'si la feuille est filtrée
.[A1].CurrentRegion.Offset(1).Delete xlUp
End With
End Sub