Sub Depivoter()
Dim TabInit() As Variant
Dim TabFinal() As Variant
With Sheets("Feuil1")
LastLine = .Range("A" & .Rows.Count).End(xlUp).Row
TabInit = .Range("A1:N" & LastLine).Value
NbLigne = UBound(TabInit, 1) - 1
nbCol = UBound(TabInit, 2) - 2
End With
ReDim TabFinal(1 To (NbLigne * nbCol) + 1, 1 To 4)
'1ere ligne
TabFinal(1, 1) = "Produit"
TabFinal(1, 2) = "Lieu"
TabFinal(1, 3) = "Volumes"
TabFinal(1, 4) = "Dates"
indi = 2
For i = 2 To UBound(TabInit, 1)
For j = 3 To UBound(TabInit, 2)
TabFinal(indi, 1) = TabInit(i, 1)
TabFinal(indi, 2) = TabInit(i, 2)
TabFinal(indi, 3) = TabInit(i, j)
TabFinal(indi, 4) = Format(TabInit(1, j), "mm-yyyy")
indi = indi + 1
Next j
Next i
With Sheets("Feuil2")
.Range("A1").Resize(UBound(TabFinal, 1), UBound(TabFinal, 2)) = TabFinal
End With
End Sub