Bonjour à tous
Ce bout de code me permet de saisir un chiffre dans un inputbox.
Ensuite ce chiffre remplace un autre chiffre saisi dans un 2nd inputbox, et ce dans la colonne B.
Je souhaiterai ajouter une instruction qui permet de sortir de la procédure si on clique sur annuler dans le 1er inputbox.
Je pensais à un if... = vbno then exit sub.
Seulement, je n'arrive pas à le placer dans mon code car la boucle continue à tourner.
Je m'en remets donc à vous
Merci pour votre aide
Sub Change_code()
'Déclarations
Dim Valeur1, Valeur2
Dim ErrValeur1, ErrValeur2 As Boolean
'Init de la variable erreur 1
ErrValeur1 = True
'Boucle
Do
Valeur1 = InputBox("Veuillez rentrer le nouveau code", "Changer code ", "1234") 'Saisir le nouveau code (le code remplaçant)
If Len(Valeur1) <> 4 Then
MsgBox ("Le code doit être de 4 chiffres") 'Message d'erreur
Else 'Sinon
ErrValeur1 = False
ErrValeur2 = True 'Init de la variable erreur 2
Do 'Boucle 2
Valeur2 = InputBox("Veuillez rentrer le code à remplacer", "Changer code ", "Code à remplacer") 'Saisir le code à remplacer
If Len(Valeur2) <> 4 Then 'si saisie différent de 4 chiffres alors message d'erreur
MsgBox ("Le code à remplacer doit être de 4 chiffres")
Else
ErrValeur2 = False
'Remplacer ancien code désigné par nouveau code rentré
Columns("B:B").Replace What:=Valeur2, Replacement:=Valeur1, LookAt:=xlPart, SearchOrder:=xlByRows
End If
Loop While ErrValeur2 = True
End If
Loop While ErrValeur1 = True
End Sub