Sub Restructurer()
Dim tablo, resu(), i&, n&
With [D3].CurrentRegion
tablo = .Resize(, 2).Formula
If tablo(1, 2) = "" Then
ReDim resu(1 To UBound(tablo), 1 To 2)
For i = 1 To UBound(tablo) Step 2
n = n + 1
resu(n, 1) = tablo(i, 1)
If Len(tablo(i + 1, 1)) > 5 Then tablo(i + 1, 1) = Left(tablo(i + 1, 1), 4) 'ça va bien pour ici
resu(n, 2) = tablo(i + 1, 1)
Next
If n Then .Resize(n, 2) = resu
.Columns(2).NumberFormat = "00000"
.Offset(n).Resize(Rows.Count - n - .Row + 1, 2).Clear 'RAZ en dessous
Else
ReDim resu(1 To 2 * UBound(tablo), 1 To 1)
n = -1
For i = 1 To UBound(tablo)
n = n + 2
resu(n, 1) = tablo(i, 1)
resu(n + 1, 1) = tablo(i, 2)
Next
If n Then .Resize(n, 1) = resu
.Columns(2).Clear 'RAZ
End If
End With
With ActiveSheet.UsedRange: End With 'actualise les barres de défilement
End Sub