Sub convertir()
Dim tabInit() As Variant
Dim tabFinal() As Variant
With Sheets("Fichier source")
tabInit = .UsedRange.Value
nblignes = UBound(tabInit, 1) - 1
NbColonnes = UBound(tabInit, 2) - 10
End With
ReDim tabFinal(1 To (nblignes * 12) + 1, 1 To NbColonnes)
For j = LBound(tabInit, 2) To NbColonnes - 2
tabFinal(1, j) = tabInit(1, j)
Next j
For i = LBound(tabInit, 1) + 1 To UBound(tabInit, 1)
For j = LBound(tabInit, 2) To NbColonnes - 2
For k = 1 To 12
tabFinal(i + (k - 1) * nblignes, j) = tabInit(i, j)
Next k
Next j
For k = 1 To 12
tabFinal(i + (k - 1) * nblignes, NbColonnes - 1) = DateSerial(tabInit(i, 1), k, 1)
tabFinal(i + (k - 1) * nblignes, NbColonnes) = tabInit(i, NbColonnes - 2 + k)
Next k
Next i
With Sheets("Rendu")
.Range("A1").Resize(UBound(tabFinal, 1), UBound(tabFinal, 2)) = tabFinal
.Range("Q1") = "Mois"
.Range("Q:Q").NumberFormat = "mmm/yyyy"
.Range("R1") = "CA"
End With
End Sub