Sub test()
Dim F1 As Worksheet
Set F1 = Worksheets("FEUILLE1")
Dim TabRes() As Variant
TabRes = F1.Range(F1.Cells(2, 4), F1.Cells(5, 10))
Dim F2 As Worksheet
Set F2 = Worksheets("FEUILLE2")
Dim TabBase() As Variant
TabBase = F2.Range(F2.Cells(2, 1), F2.Cells(7, 4))
For i = 1 To UBound(TabRes, 1)
For j = 1 To UBound(TabBase, 1)
' Pour Niveau 1
If TabRes(i, 1) & TabRes(i, 4) = TabBase(j, 4) & TabBase(j, 3) Then
TabRes(i, 3) = TabBase(j, 1)
End If
' Pour Niveau 2
If TabRes(i, 1) & TabRes(i, 7) = TabBase(j, 4) & TabBase(j, 3) Then
TabRes(i, 6) = TabBase(j, 1)
End If
Next j
Next i
' Extraire une colone d'un tableau :
' c'est a dire la colone N°3 (avec un pas de 3) du tableau a recopier en colonne
' en rapport avec la feuille excel soit la Colonne 6 du tableur soit :
' i = 3 + (3 pour un décalage de 3) Soit Ligne 2 et colonne 6 feuille excel
For i = 3 To 6 Step 3
Cells(2, i + 3).Resize(UBound(TabRes, 1), 1).Value = Application.Index(TabRes, , i)
Next i
End Sub