Option Explicit
Sub test()
Dim a, b(), i As Long, n As Long, e
With Sheets("Avant").Range("a1").CurrentRegion
a = .Value
'attention à la 1ère dimension
ReDim b(1 To 1000, 1 To UBound(a, 2))
For i = 1 To UBound(a, 1)
For Each e In Split(a(i, 2), ";")
If Trim(e) <> "" Then
n = n + 1
b(n, 1) = a(i, 1)
b(n, 2) = Trim(e)
End If
Next
Next
With .Offset(, .Columns.Count + 1)
.CurrentRegion.ClearContents
.Resize(n, UBound(a, 2)).Value = b
End With
End With
End Sub