Bonjour à tous,

J'ai développé à l'aide d'exemples un code sous cette forme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.

J'ai ajouté un exemple remanié pour illustrer mon problème.
Concrètement, j'aimerais importer des données de la Feuil1 vers la Feuil2 pour obtenir le résultat en Feuil3.
Cependant, je bloque sur le cas particulier des documents multiples ou j'aimerais rajouter des lignes à mon fichier selon le nombre de version de ce document.

L'un d'entre vous connaitrais-t-il une solution à mon problème?

Classeur3.xlsm

Merci à vous!