Fermer Excel sans sauvegarder le classeur

  • Initiateur de la discussion Initiateur de la discussion AlDraw
  • 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 !

AlDraw

XLDnaute Nouveau
J'ai réalisé une application qui permet à un utilisateur de remplir une feuille de données par l'intermédiaire d'un USERForm. Elle prévoit l'exportation du travail de saisie dans un autre classeur.
Je souhaite garder vierge mon classeur Apllication. J'ai réussi si l'utilisateur ferme par le bouton de commande que j'ai créé, idem s'il ferme le classeur par le bouton Excel (X) mais s'il utilise le menu "Fichier" "enregistrer" ça coince.
Cette action lance bien ma procédure de fermeture qui prévoit une boîte de dialogue qui avertit l'utilisateur qu'il doit d'abord sauvegarder ses données (par le masque de saisie de mon application). S'il répond qu'il a sauvegardé alors Excel se ferme sans enregistrer mais s'il répond NON, bizarrement, Excel ne se ferme pas ce qui est normal mais ???? il enregistre les modifications.
Que faire ?
Merci
AlDraw
 
Re : Fermer Excel sans sauvegarder le classeur

bonjour AlDraw,

la première des choses à faire, sur n'importe quel forum, c'est d'user d'une petite formule de politesse : bonjour, hello, salut, hi, coucou, etc. il y a le choix. Ceci étant dit, bienvenu sur ce forum 🙂

Tu peux mettre ton code ici, ça sera plus simple ?
 
Re : Fermer Excel sans sauvegarder le classeur

Bonsoir Kobaya,
Merci de me répondre. OK pour le bonjour oublié je ne recommencerai plus !
Voici mon code :
Public Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Repp As Integer
Repp = MsgBox("Avez-vous sauvegardé vos données ?", vbQuestion + vbYesNo, strAppName)
If Repp = vbYes Then
ThisWorkbook.Saved = True
ThisWorkbook.Close saveChanges:=False
Else
ThisWorkbook.Saved = True
Cancel = True
Exit Sub
End If
End Sub

Public Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then
Cancel = True
End If
ThisWorkbook.Close
End Sub

Qu'en penses-tu ?
Merci
AlDraw
 
Re : Fermer Excel sans sauvegarder le classeur

AlDraw à dit:
Bonsoir Kobaya,
Merci de me répondre. OK pour le bonjour oublié je ne recommencerai plus !
Voici mon code :
Public Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Repp As Integer
Repp = MsgBox("Avez-vous sauvegardé vos données ?", vbQuestion + vbYesNo, strAppName)
If Repp = vbYes Then
ThisWorkbook.Saved = True
ThisWorkbook.Close saveChanges:=False
Else
ThisWorkbook.Saved = True
Cancel = True
Exit Sub
End If
End Sub

Public Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then
Cancel = True
End If
ThisWorkbook.Close
End Sub

Qu'en penses-tu ?
Merci
AlDraw
Salut
Dans une macro Workbook_BeforeClose, pour empêcher la fermeture la fermeture du classeur, il suffit de mettre Cancel à True 🙂

A+
 
- 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

Réponses
3
Affichages
582
Retour