Bonjour à tous,
J'ai développé un code sous cette forme:
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
If TabRef1(k, 2) = TabIni1(l, 2) Then
Rows("k:k").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
k = k + 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
Il s'agit d'une simple comparaison et import de données d'une feuille à une autre, le point particulier reviens à ajouter une ligne lorsque la donnée de référence est présente en de multiples versions dans la feuille de référence.
Cependant, la partie rouge ne fonctionne pas (je m'y attendais un peut en même temps..), elle correspond au saut de ligne que je n'arrive pas a traiter sous cette forme de code. L'un d'entre vous connaitrais-t-il une solution à mon problème?
Merci à vous!
J'ai développé un code sous cette forme:
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
If TabRef1(k, 2) = TabIni1(l, 2) Then
Rows("k:k").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
k = k + 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
Il s'agit d'une simple comparaison et import de données d'une feuille à une autre, le point particulier reviens à ajouter une ligne lorsque la donnée de référence est présente en de multiples versions dans la feuille de référence.
Cependant, la partie rouge ne fonctionne pas (je m'y attendais un peut en même temps..), elle correspond au saut de ligne que je n'arrive pas a traiter sous cette forme de code. L'un d'entre vous connaitrais-t-il une solution à mon problème?
Merci à vous!