Sub Traitement()
Dim TabNoms As Variant, TabDonn As Variant
Dim L As Long, L2 As Long, Lresult As Long
'On mémorise la liste de nom de la Feuil1 dans un tableau Variant temporaire
With Sheets('Feuil1')
L = .Range('A65536').End(xlUp).Row
TabNoms = .Range(.Cells(1, 1), .Cells(L, 1)).Value
End With
'On mémorise les données Colonne B de la Feuille DTBS
With Sheets('DTBS')
L = .Range('A65536').End(xlUp).Row
TabDonn = .Range(.Cells(1, 2), .Cells(L, 2)).Value
End With
With Sheets('DTBS')
'Pour chaque nom de la liste mémorisée TabNoms
For L = 1 To UBound(TabNoms, 1)
'On recherche le nom dans les données DTBS colonne 2 (TabDonn)
For L2 = 1 To UBound(TabDonn, 1)
If TabDonn(L2, 1) Like '*' & TabNoms(L, 1) & '*' Then
'On détermine le numéro de la première ligne libre de la Feuil2
Lresult = Sheets('Feuil2').Range('A65536').End(xlUp).Row + 1
'On recopie la ligne trouvée sur la Feuil2
.Rows(L2).Copy Destination:=Sheets('Feuil2').Rows(Lresult)
End If
Next L2
Next L
End With
MsgBox 'Traitement terminé !'
End Sub