Boite de dialogue à choix multiple [vbYesNoCancel]

Lop67 -  
 Utilisateur anonyme -
Bonjour tout le monde,

Alors voilà je souhaite une boite de dialogue qui enregistre et ferme mon document si on clique sur oui (Cette partie la fonctionne correctement), ferme le formulaire sans sauvegarde si on clique sur non, et rien du tout si on clique sur annuler. Cependant pour les deux dernières options j'ai un problème car je ne clique pas sur oui il ferme mon formulaire peut importe si je clique sur non ou annuler.

Pouvez vous m'aider svp

Private Sub Quitter_Click()
If MsgBox("Voulez-vous sauvegarder avant de quitter ?", vbYesNoCancel + vbExclamation, "Demande de confirmation") = vbYes Then
Appel_Save 'Fonction de sauvegarde
Unload Me
ElseIf vbNo Then
Unload Formulaire
ElseIf vCancel Then
End If
End Sub
A voir également:

3 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

Essaies comme ceci

Private Sub Quitter_Click()
Dim rep
rep = MsgBox("Voulez-vous sauvegarder avant de quitter ?", vbYesNoCancel + vbExclamation, "Demande de confirmation") = vbYes
If rep = vbYes Then
  Appel_Save 'Fonction de sauvegarde
  Unload Me
ElseIf rep = vbNo Then
  Unload Formulaire
ElseIf rep = vCancel Then
End If
End Sub

Cdlmnt
1
Lop67
 
Parfait ça marche ! :D
merci beaucoup !
0
Utilisateur anonyme
 
Quand tu veux tester plusieurs résultas (fonction, inputbox, ect...), passer par une variable intermédiaire est une soltuion.
Une autre est d’utiliser un select case.
0
Utilisateur anonyme
 
Bonjour

Je t’ecris en « français » ce que fais ton code


Si le résultat de ma boite de dialogue est Oui alors
Je sauvegarde
Sinon si rien est Non alors
Je ferme
Sinon si rien est Annuler alors
Je ne fais rien


Vois tu le problème ?
0
Lop67
 
Ouai je vois, mais je ne sais pas comment faire une conditions qui me permettrai de choisir la bonne option, je dois remplacer le elseif par quoi ? stp
0
madmyke Messages postés 53100 Date d'inscription   Statut Modérateur Dernière intervention   12 240
 
Bonjour

Merci d'avoir participé à ce forum.
Il semble que votre problème ai trouvé une réponse.

Si la réponse vous satisfait je vous invite à mettre en résolue, c'est très simple.

Merci de cliquer sur >CE LIEN<

PS: Si vous l'avez résolu vous même, il pourrait être intéressant de poster la solution pour les autres internautes.

Cordialement
0