Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Intercepter si un classeur a été sauvegardé

5 réponses
Avatar
defluc
Bonjour à tous

Si on ouvre excel et qu'on le referme sans apporter la moindre
modification au classeur ouvert, la fermeture se fait instantanément.

Par contre si on modifie quoi que ce soit, la boite de dialogue de
sauvegarde s'ouvre.

Est-il possible d'intercepter dans l'évènement «Workbook_BeforeClose» si
le classeur a été modifié.

Merci d'avance

5 réponses

Avatar
isabelle
bonjour defluc,

If ThisWorkbook.Saved Then MsgBox "aucun changement"

isabelle

defluc a écrit :
Bonjour à tous

Si on ouvre excel et qu'on le referme sans apporter la moindre
modification au classeur ouvert, la fermeture se fait instantanément.

Par contre si on modifie quoi que ce soit, la boite de dialogue de
sauvegarde s'ouvre.

Est-il possible d'intercepter dans l'évènement «Workbook_BeforeClose»
si le classeur a été modifié.

Merci d'avance


Avatar
Corto
Bonjour defluc,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Me.Saved Then
MsgBox "Ce classeur a été sauvegardé"
Else
MsgBox "Ce classeur n'a pas été sauvegardé"
End If
End Sub

Corto

defluc a écrit :
Bonjour à tous

Si on ouvre excel et qu'on le referme sans apporter la moindre
modification au classeur ouvert, la fermeture se fait instantanément.

Par contre si on modifie quoi que ce soit, la boite de dialogue de
sauvegarde s'ouvre.

Est-il possible d'intercepter dans l'évènement «Workbook_BeforeCl ose»
si le classeur a été modifié.

Merci d'avance


Avatar
MichDenis
Bonjour à tous

| Si on ouvre excel et qu'on le referme sans apporter la moindre
| modification au classeur ouvert, la fermeture se fait instantanément.
***Ce n'est pas tout à fait exact. Si dans ce classeur tu as fait l'utilisation
d'une des fonctions innées "Volatile" de l'application Excel, dès que
tu ouvres, que tu fasses manuellement ou non des modifications au
classeur, tu vas avoir un message demandant la sauvegarde du fichier
à la fermeture.
Parmi ces fonctions, il y a : Aujourdhui(), Maintenant(), zones(), index()
Decaler(), cellule(), indirect(),lignes(), colonnes(), Alea()

| Est-il possible d'intercepter dans l'évènement
| «Workbook_BeforeClose» si le classeur a été modifié.
****OUI , ThisWorkbook.Saved retourne vrai ou faux selon que le classeur
a besoin d'être sauvegardé ou non
If ThisWorkbook.Saved = True Then
'Affichage du message sauvegarde des données
End if
Avatar
MichDenis
Tu dois lire : If ThisWorkbook.Saved = False Then
dans ma réponse !
Avatar
defluc
defluc a écrit :
Un grand merci à tous