Sub Transformer()
Dim lig As Long, i As Long, j As Integer, tablo(), n As Long
Application.ScreenUpdating = False
lig = [A1].End(xlDown).Row 'dernière ligne
'---Détermination du tableau de valeurs---
For i = 2 To lig
For j = 0 To UBound(Split(Cells(i, 2), ","))
ReDim Preserve tablo(1, n)
tablo(0, n) = Cells(i, 1)
tablo(1, n) = Split(Cells(i, 2), ",")(j)
n = n + 1
Next
Next
'---Formatage---
Range(Cells(lig + 3, 1), Cells(65536, 2)).Clear
Columns(1).HorizontalAlignment = xlCenter
With Cells(lig + 3, 1).Resize(n, 2)
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
'---Remplissage---
.Value = Application.Transpose(tablo)
End With
End Sub