Sub Franckxxx()
Dim Ws1 As Worksheet, Ws2 As Worksheet, Ws3 As Worksheet
Dim DerLig1 As Long, DerLig2 As Long, DerLig3 As Long, NumLig3 As Long, i As Long, j As Long, k As Long
Dim TabDonnées, TabRéférence
Set Ws1 = Worksheets("Données")
Set Ws2 = Worksheets("Références")
Set Ws3 = Worksheets("Différence")
Ws3.Cells.Delete 'effacement de la feuille Différence
Ws3.Range("A1:F1") = Ws1.Range("A1:F1").Value 'copie de la ligne de titre
DerLig1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row 'Dernière ligne Feuille Données
DerLig2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row 'Dernière ligne Feuille Références
NumLig3 = 2 'N° de ligne pour l'écriture en feuille Différence
TabDonnées = Ws1.Range("A2:F" & DerLig1) ' mise en tableau des données de la feuille Données
TabRéférence = Ws2.Range("B2:B" & DerLig2) ' mise en tableau de la colonne référence de la feuille Références
For i = LBound(TabDonnées) To UBound(TabDonnées) ' de la première à la dernière ligne du tableau TabDonnées
For j = LBound(TabRéférence) To UBound(TabRéférence) ' de la première à la dernière ligne du tableau TabRéférence
If TabDonnées(i, 1) Like TabRéférence(j, 1) & "*" Then 'si ref Données comme ref Références
For k = 1 To 6 'écriture en feuille Différence
Ws3.Cells(NumLig3, k) = TabDonnées(i, k)
Next
NumLig3 = NumLig3 + 1 'incrémentation du N° de ligne
End If
Next
Next
End Sub