Re,
Si première solution :
Sub Macro1()
Dim O As Worksheet
Dim DL As Integer
Dim DEST As Range
Dim I As Integer
Set O = Worksheets("Feuil3")
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row
For I = 1 To DL Step 3
Set DEST = O.Cells(Application.Rows.Count, "D").End(xlUp).Offset(1, 0)
DEST.Resize(1, 3).Value = Application.Transpose(O.Cells(I, "A").Resize(3, 1))
DEST.Offset(0, 1).Select
DEST.Offset(0, 1).Value = Split(DEST.Offset(0, 1).Value, " |")(0)
Next I
End Sub