Bonjour rocket4
parce que comme telle, l'ecriture se fait sur la feuille 2 en commencant à la ligne 2
Normal, c'est ce qui est inscrit dans ton code avec l'instruction
.Range("D" & Rows.Count).End(xlUp).Offset(1, 0)
Cette instruction dis à Excel, à partir de la dernière cellule de la colonne 'D'
.Range("D" & Rows.Count)
, recherche la prochaine cellule remplie en remontant
.End(xlUp).
et décale d'une ligne vers le bas
.Offset(1, 0)
Pour débuter sur la ligne D9, il te faut une variable à tester
Dim DLig As Long
Sheets("Feuil1").Range("E11:E15").Copy
With Sheets("Feuil2")
DLig = .Range("D" & Rows.Count).End(xlUp).Row
' Si la dernière ligne remplie est inférieure à 8, alors la dernière ligne est 8
If DLig < 8 Then DLig = 8
'
.Range("D" & DLig+1).PasteSpecial _
Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
End With
Application.CutCopyMode = False
A+