Sub essai()
Dim Tourne As Long, LigneOr As Long, Ligne As Long, LigneMax As Long
Dim Transfert As Variant, LesMois As Variant, LesAnnées As Variant
Dim Mem As String
LesAnnées = Sheets("Feuil1").Range("A3:AA3")
LesMois = Sheets("Feuil1").Range("A4:AA4")
LigneMax = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
For LigneOr = 5 To LigneMax
Transfert = Sheets("Feuil1").Range("A" & LigneOr & ":AA" & LigneOr)
For Tourne = 4 To UBound(Transfert, 2)
Ligne = Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Feuil2").Range("A" & Ligne) = Transfert(1, 1)
Sheets("Feuil2").Range("B" & Ligne) = Transfert(1, 2)
Sheets("Feuil2").Range("C" & Ligne) = Transfert(1, 3)
If LesAnnées(1, Tourne) <> "" Then Mem = LesAnnées(1, Tourne)
Sheets("Feuil2").Range("D" & Ligne) = Mem
Sheets("Feuil2").Range("E" & Ligne) = LesMois(1, Tourne)
Sheets("Feuil2").Range("F" & Ligne) = Transfert(1, Tourne)
Next Tourne
Next LigneOr
End Sub