Sub test()
Dim L%, C As Integer
Dim cel As Range
Dim t() As String
On Error Resume Next
ReDim t(WorksheetFunction.Sum([B:B]) - 1)
If Err.Number = 0 Then
For Each cel In Range("B2", [B2].End(xlDown))
For C = 1 To cel.Value
t(L) = cel.Offset(, -1).Value
L = L + 1
Next C, cel
[I2].Resize(L) = Application.Transpose(t)
Else
MsgBox "[B][COLOR=blue]La colonne B (ormis l'entête) ne doit contenir que des chiffres[/COLOR][/B]"
End If
End Sub