Un essai à tester. Te convient-il ?
Option Explicit
Dim tablo, liste, listeR
Dim i&, iR&, n&, nbln&
Sub Transfromer()
tablo = Range("A7:G" & Range("A" & Rows.Count).End(xlUp).Row)
Set fr = Sheets("Résultat")
nbln = WorksheetFunction.CountA(Range("A7:A" & Range("A" & Rows.Count).End(xlUp).Row)) * 3
ReDim tablor(1 To nbln, 1 To 6)
liste = Array(2, 1, 3, 7)
listeR = Array(1, 3, 4, 5)
Sheets("Résultat").Range("A1").CurrentRegion.Offset(1, 0).Clear
iR = 1
For i = 1 To UBound(tablo, 1)
If tablo(i, 1) <> "" Then
For n = 0 To 3
tablor(iR, listeR(n)) = tablo(i, liste(n))
Next n
fr.Range("E" & iR + 1).Interior.Color = RGB(250, 191, 143)
iR = iR + 1
tablor(iR, 6) = tablo(i, 6)
fr.Range("F" & iR + 1 & ":F" & iR + 2).Interior.Color = RGB(141, 180, 226)
'tablor(iR, 1) = tablo(i, 1)
iR = iR + 1
tablor(iR, 6) = tablo(i, 5)
'tablor(iR, 1) = tablo(i, 1)
iR = iR + 1
End If
Next i
fr.Range("A2").Resize(UBound(tablor, 1), 6) = tablor
fr.Activate
End Sub
Bye !