MsgBox Cancel ne renvoie pas sur End Sub

Bonjour. Je ne parviens pas à bloquer l'exuecution d'une macro quand le bouton ANNULER est cliqué dans la msgBox

Sub Overwrite()
Dim OuiOuNon As Integer
MsgBox "Certaine de vouloir modifier ce champs ?", vbOKCancel, "MODIFICATION DU NOM"
If OuiOuNon = vbCancel Then Exit Sub
NomChange
End Sub

Le module NomChange est appelé quelque-soit le bouton cliqué "OK ou ANNULER". Je ne comprend pas pourquoi ce code ne fonctionne pas. Merci de votre aide ;)

Bonjour,

Plutôt ceci:

If MsgBox("Certaine de vouloir modifier ce champs ?", vbOKCancel, "MODIFICATION DU NOM") = vbCancel Then Exit Sub

Cdlt

Bonjour @ vous deux !

j'ajouterai ceci à la réponse d'Arturo83 : vous avez créé une variable OuiOuNon et vous comparez celle-ci à la donnée vbCancel, mais à quel moment vous "remplissez" la variable OuiOuNon avec une donnée ?

Si vous aviez écrit ceci : OuiOuNon = MsgBox ("Certaine de vouloir modifier ce champs ?", vbOKCancel, "MODIFICATION DU NOM") alors vous auriez eu une chance pour que le code fonctionne.

@ bientôt

LouReeD

Un grand merci ! Je ne pensais pas qu'on pouvait lancer la msgbox directement dans un "If". Le code fonctionne très bien comme ça

Sub Overwrite()
    If MsgBox("Certaine de vouloir modifier ce champs ?", vbOKCancel, "MODIFICATION DU NOM") = vbCancel Then Exit Sub
    NomChange
End Sub

Merci beaucoup !

Merci @LouReed, ca me permet de mieux comprendre le probleme de départ !

Merci pour votre retour et remerciement !

@ bientôt

LouReeD

Rechercher des sujets similaires à "msgbox cancel renvoie pas end sub"