Bonsoir,
si ton tableau comporte toujours 13 colonnes (colonne A : Article, et de la colonne B à la colonne M, le premier de chaque mois), tu peux essayer ce code :
Sub Transpo()
Dim DerLig As Long, I As Long
Dim Lig As Long, DerLig2 As Long
Application.ScreenUpdating = False
DerLig = [A65000].End(xlUp).Row
Columns("B:C").Insert Shift:=xlToRight
For I = DerLig To 3 Step -1
Cells(I, 1).Resize(11, 1).Insert Shift:=xlDown
Next I
Lig = 2
DerLig2 = 2
For I = 2 To DerLig
Range("D1:O1,D" & Lig & ":O" & Lig).Copy
Cells(DerLig2, 2).PasteSpecial Transpose:=True
Lig = Lig + 1
DerLig2 = [B65000].End(xlUp).Row + 1
Next I
With Range("A2:A" & [B65000].End(xlUp).Row)
With .SpecialCells(xlCellTypeBlanks)
.FormulaR1C1 = "=R[-1]C"
End With
.Value = .Value
End With
[B1] = "Date": [C1] = "Qté"
Columns("D:O").Delete Shift:=xlToLeft
Columns("B:C").ColumnWidth = 8
Columns("A:C").HorizontalAlignment = xlCenter
[A1].Select
End Sub
Je t'ai mis un fichier exemple, avec 2 copies de la feuille 1
Clique sur le bouton, et regarde le résultat
https://www.excel-pratique.com/~files/doc/Sylvain_v1.xls