Sub repartir()
Dim col As Long, lig As Long, tmp1, tmp2(1 To 50, 1 To 1), i As Long
col = 2
Do While Cells(1, col) > 0
tmp1 = Range(Cells(1, col), (Cells(Rows.Count, col).End(xlUp))).Value
Erase tmp2
For i = 1 To UBound(tmp1)
tmp2(tmp1(i, 1), 1) = tmp1(i, 1)
Next i
Cells(1, col).Resize(UBound(tmp2)) = tmp2
col = col + 1
Loop
End Sub