Msgbox à trois possibilité

  • Initiateur de la discussion Initiateur de la discussion nikkyb
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nikkyb

XLDnaute Junior
Bonjour voici un code :

Code:
Private Sub CommandButton7_Click()
If msgbox("ATTENTION, Voulez vous sauvegarder avant de quitter ?", vbYesNoCancel, "Modification") = vbYes Then
ThisWorkbook.Save
Unload Me
Application.Quit
If vbNo Then
Unload Me
Application.Quit
End If

If vbCancel Then Exit Sub
End If
End Sub

Avec celui ci je peut donc :
1 fermer avec enregistrement (ca marche)
2 annuler (ca marche)
3 fermer sans enregistrer (marche pas)

Et je ne sais pas pourquoi
Y a il une erreur dans mon code merci beaucoup!
 
Re : Msgbox à trois possibilité

Bonjour,

essaye peut être ainsi :

Code:
Private Sub CommandButton7_Click()
Dim i As Integer
i = MsgBox("ATTENTION, Voulez vous sauvegarder avant de quitter ?", vbYesNoCancel, "Modification")
If i = vbYes Then
    ThisWorkbook.Save
    Unload Me
    Application.Quit
    ElseIf i = vbNo Then Unload Me:       Application.Quit
    ElseIf i = vbCancel Then Exit Sub
End If
End Sub

bon après midi
@+
 
Re : Msgbox à trois possibilité

Super seul truc quand je clique sur non donc quitter sans sauvegarder j'ai toujours le message de microsoft : voulez vous sauvegarder avant de quitter, comment faire pour ne pas afficher ce message?

Merci!
 
Re : Msgbox à trois possibilité

Re,

modifie ainsi :

Code:
Private Sub CommandButton1_Click()
Dim i As Integer
i = MsgBox("ATTENTION, Voulez vous sauvegarder avant de quitter ?", vbYesNoCancel, "Modification")
If i = vbYes Then
    ThisWorkbook.Save
    Unload Me
    Application.Quit
    ElseIf i = vbNo Then Unload Me: Application.DisplayAlerts = False: _
        Application.Quit: Application.DisplayAlerts = True
    ElseIf i = vbCancel Then Exit Sub
End If
End Sub

@+
 
Re : Msgbox à trois possibilité

Car avec le message de microsoft je revient sur les feuil excel si j'annule alors quand passant par l'userform, en aucun cas je revient vers les feuil excel tout simplement.
J'essai donc de faire en sorte qu'on ne puisse plus acceder au feuils....
 
Re : Msgbox à trois possibilité

Re,

plutôt que d'enlever la croix, perso je préfère la désactiver, code ci-dessous à utiliser dans le module de l'usf :

Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then Cancel = 1
End Sub

@+
 
Re : Msgbox à trois possibilité

Mes remarques en vrac :

1) ElseIf i = vbCancel Then Exit Sub : ne ferme pas Excel

2) Pourquoi ne pas mettre un Activeworksheet.close (0)? Au lieu de vouloir désactiver les messages d'alerte?

3) Pourquoi ne pas profiter de la macro Evenementielle "Workbook_BeforeClose(Cancel As Boolean)" en vérifiant que si Cancel alors on ferme tout sans enregistrer avec un .close(0) ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 MsgBox
Réponses
9
Affichages
607
Réponses
3
Affichages
582
Retour