1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| Sub Macro1()
DerLig1 = Worksheets("Livraison à venir").Range("A" & Rows.Count).End(xlUp).Row
DerLig2 = Worksheets("Matrice F-DOC").Range("A" & Rows.Count).End(xlUp).Row
TabIni1 = Worksheets("Livraison à venir").Range("A3:K" & DerLig1)
TabRef1 = Worksheets("Matrice F-DOC").Range("A3:K" & DerLig2)
For k = LBound(TabRef1) To UBound(TabRef1)
For l = LBound(TabIni1) To UBound(TabIni1)
If TabRef1(k, 1) = TabIni1(l, 1) Then
TabIni1(l, 2) = TabRef1(k, 2)
TabIni1(l, 3) = TabRef1(k, 3)
TabIni1(l, 4) = TabRef1(k, 4)
TabIni1(l, 5) = TabRef1(k, 5)
TabIni1(l, 6) = TabRef1(k, 6)
TabIni1(l, 7) = TabRef1(k, 7)
TabIni1(l, 8) = TabRef1(k, 8)
If TabRef1(k, 1) = TabIni1(l + 1, 1) Then
Rows(k & ":" & k).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
k = k + 1
l = l + 1
TabRef1(k, 1) = TabRef1(k - 1, 1)
End If
TabIni1(l, 2) = TabRef1(k, 2)
TabIni1(l, 3) = TabRef1(k, 3)
TabIni1(l, 4) = TabRef1(k, 4)
TabIni1(l, 5) = TabRef1(k, 5)
TabIni1(l, 6) = TabRef1(k, 6)
TabIni1(l, 7) = TabRef1(k, 7)
TabIni1(l, 8) = TabRef1(k, 8)
Exit For
End If
Next
Next
Worksheets("Livraison à venir").Range("A3").Resize(UBound(TabIni1, 1), UBound(TabIni1, 2)) = TabIni1
End Sub |