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
| Option Explicit
Option Base 1
Sub Position()
'definition des deux feuilles et range
Dim xlsheet As Worksheet
Dim xlsheet2 As Worksheet
Dim AllRange As Range, MyRange As Range
'ligne est un type tableau
Dim Ligne(1, 3), i As Long
' on definit les deux feuilles , donc verifie que tes feuilles c'est bien Feuil2 et Feuil3
Set xlsheet = ThisWorkbook.Worksheets("Feuil3")
Set xlsheet2 = ThisWorkbook.Worksheets("Feuil2")
'il faut nommer ton range "Product" ( sans les guillemets)
' en fait tu vas nommer seullement la premiere colonne de ton range pas le range entier
Set AllRange = xlsheet.Range("Product")
i = 18
For Each MyRange In AllRange
If MyRange.Value <> "" Then
'on rajoute une ligne
i = i + 1
xlsheet2.Rows(i).Insert shift:=xlDown
Ligne(1, 1) = MyRange.Offset(, 2).Value 'lot
Ligne(1, 2) = MyRange.Offset(, 3).Value 'qte
Ligne(1, 3) = MyRange.Offset(, 4).Value 'ute
xlsheet2.Range(Range("C" & i), Range("E" & i)).Value = Ligne
End If
Next MyRange
End Sub |
Partager