Sub transp()
Dim t, v, i&, n&
t = Range("a12:a" & Cells(Rows.Count, "a").End(xlUp).Row)
ReDim v(1 To 1, 1 To 2 * UBound(t)): n = 1
For i = 1 To UBound(t): v(1, n) = t(i, 1): v(1, n + 1) = "PU": n = n + 2: Next
With Range("C2")
Range(.Cells(1, 1), .End(xlToRight)).ClearContents
If UBound(v, 2) + .Column - 1 > Columns.Count Then
MsgBox "Trop d'éléments pour la transposition en " & .Address(0, 0) & " => Echec !", vbCritical
Else
.Resize(UBound(v), UBound(v, 2)) = v
End If
End With
End Sub