Re le forum,
Pour le fun, via un regex, tu peux tester sur le fichier du post #1 :
Option Explicit
Sub test()
Dim a, i As Long, ii As Long, m As Object
With Sheets("Feuil1").Range("a1", Range("a" & Rows.Count).End(xlUp)).Resize(, 2)
a = .Value
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\b\d+p\b"
For i = 2 To UBound(a, 1)
a(i, 2) = ""
If .test(a(i, 1)) Then
Set m = .Execute(a(i, 1))
For ii = 0 To m.Count - 1
Select Case m(ii)
Case "9p", "10p", "11p", "12p", "13p", "14p", "15p", "16p", "17p", "18p", "19p", "20p", "21p", "22p", "23p", "24p", "25p"
a(i, 2) = a(i, 2) & 1
Case "1p": a(i, 2) = a(i, 2) & 9
Case "2p": a(i, 2) = a(i, 2) & 8
Case "3p": a(i, 2) = a(i, 2) & 7
Case "4p": a(i, 2) = a(i, 2) & 6
Case "5p": a(i, 2) = a(i, 2) & 5
Case "6p": a(i, 2) = a(i, 2) & 4
Case "7p": a(i, 2) = a(i, 2) & 3
Case "8p": a(i, 2) = a(i, 2) & 2
End Select
Next
End If
Next
End With
.Value = a
End With
End Sub
Au préalable, il faut formater la colonne B en texte.
klin89