Associer "save" et "quitter" à un bouton en fin de travail

Résolu/Fermé
sam130242 Messages postés 72 Date d'inscription samedi 9 avril 2016 Statut Membre Dernière intervention 2 janvier 2017 - 27 mai 2016 à 22:48
 Utilisateur anonyme - 28 mai 2016 à 14:10
Bonjour,
j'ai mis un bouton "quitter" sur ma page de garde d'un classeur excel.
je voudrais associer une macro qui pointe sur la fenetre microsoft "enregistrer, ne pas enregistrer, annuler" quand il y a eu une modification dans le classeur, puis quitter excel.
j'ai écrit :

thisworkbook.save
application.quit

Il "save" sans rien demander ni signaler et quitte excel
merci pour vos infos
cdlt
sam
A voir également:

2 réponses

Utilisateur anonyme
27 mai 2016 à 23:58
Bonjour sam130242,

Ta ligne ThisWorkbook.Save sauvegarde ton classeur Excel,
donc il n'y a plus de modifications non enregistrées !

C'est pourquoi la ligne suivante peut tout de suite quitter Excel,
sans avoir à afficher la fenêtre qui propose les choix habituels :
"Enregistrer", "Ne pas enregistrer", "Annuler".

Cordialement.  😊
 
0
sam130242 Messages postés 72 Date d'inscription samedi 9 avril 2016 Statut Membre Dernière intervention 2 janvier 2017
28 mai 2016 à 00:33
merci pour ta réponse.
mais je voudrais que excel me soumette d'abord la sauvegarde (que j'accepte ou non) donc comment puis-je avoir "la fenêtre microsoft" de sauvegarde (en cas de modif)
merci
0
 
Dans ThisWorkbook, pour Workbook_BeforeClose(..) :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  ThisWorkbook.Saved = False
End Sub

Attention à bien mettre .Saved et pas .Save !

--------------------------------------------------------

D'autre part, tu dois être bien conscient que ça affiche la fenêtre que tu veux :

1) Lorsque tu demandes la fermeture du classeur
    (bien sûr, puisque c'est dans BeforeClose) : commande Fichier / Fermer
    ou < Ctrl >< W > (Window close)

2) Lorsque tu quittes Excel : commande Fichier / Quitter ou < Alt >< F4 >
    car cette commande quitter appelle automatiquement, juste avant,
    Workbook_BeforeClose(..)

3) Même s'il n'y a eu aucune modification du classeur
    (ce qui risque d'étonner les utilisateurs)

--------------------------------------------------------

Si ton problème est réglé, merci d'utiliser le lien situé tout en haut de page,
juste sous le titre : « Marquer comme résolu ».  😊
 
0