Sub MAJ()
Dim F As Worksheet, P As Range, tablo, i&, x$, j%, flag As Boolean, s
Set F = Feuil1 'CodeName de la feuille
Set P = F.Range("J2", F.Range("J" & F.Rows.Count).End(xlUp))
If P.Row = 1 Then Exit Sub
tablo = P.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
For i = 1 To UBound(tablo)
x = CStr(tablo(i, 1))
x = Replace(x, " ", "")
While UCase(Left(x, 1)) = "P": x = Mid(x, 2): Wend
flag = False
For j = 1 To Len(x)
If IsNumeric(Mid(x, j, 1)) Then flag = True: Exit For
Next j
If flag Then
s = Split(Mid(x, j), "-")
x = Left(x, j - 1) & " " & Format(Val(s(0)), "000")
If UBound(s) Then x = x & "-" & Format(Val(s(1)), "00")
End If
tablo(i, 1) = x
Next i
'---restitution---
P = tablo
End Sub