Bonjour,
Pas besoin de t'enquiquiner à trouver la position du "+" ou du "-" et d'ajouter spécifiquement le nombre de "0" adéquat.
Il te suffit de tester si le premier caractère de ton PK initial est numérique. Si oui alors tu concatènes "000" et ton PK initial puis tu prends les 7 caractères de droite.
Dans la PJ inscris ton PK à tester en A1 et lance la macro avec le bouton. Le PK final s'inscrira en B1.
Teste et dis nous.
Option Explicit
Sub test()
Dim pk_initial As String
Dim pk_final As String
Range("B1").Clear
pk_initial = Range("A1")
If IsNumeric(Left(pk_initial, 1)) Then
pk_final = Right("000" & pk_initial, 7)
Else
pk_final = pk_initial
End If
Range("B1") = pk_final
End Sub
Pour répondre à ta question quand même tu enregistres le contenu de la cellule M3 dans la variable ContenuCell mais ensuite dans la recherche du positionnement tu n'utilises pas cette variable. Tu utilises la recherche avec une nouvelle variable M3 qui ne reprend pas le contenu de la cellule.
Pour info complémentaire
Tu peux accéder rapidement au contenu d'une cellule en rentrant ses coordonnées entre crochets [M3] mais pas entre parenthèses (M3). Mais dans ce cas pas besoin de créer la variable ContenuCell. Enfin, pour compléter, tu déclares bien ContenuCell mais pas positionDuPlus.