VBA savoir si l'utilisateur a enregistré le classeur ? [Résolu]

Signaler
Messages postés
11
Date d'inscription
vendredi 22 septembre 2006
Statut
Membre
Dernière intervention
31 juillet 2008
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour,

Je développe un modèle en VBA, sousExcel. Je voudrai réagir à un évènement qui n'existe pas : l'action d'enregistrer
le classeur excel. Comment peut-on faire pour savoir si l'utilisateur a enregistré son classeur (je parle de "Save" et non pas de "Save As") ? Worbook_BeforSave ne convient pas pour la raison entre parenthèse, et la méthode Workbook.Saved n'indique pas si l'utilisateur a enregistré mais si il y a eu des changements...

Quelqu'un a-t-il une idée ?
Merci à vous!

4 réponses

Messages postés
97
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
3 septembre 2010

je complète ma réponse : cet événement fonctionne avec save ou save as.
Messages postés
97
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
3 septembre 2010

tu peux utiliser l'événement Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) dans un workbook.
Messages postés
11
Date d'inscription
vendredi 22 septembre 2006
Statut
Membre
Dernière intervention
31 juillet 2008

OK, je n'avais pas compris ça...
Merci bien (et quelle rapidité !)
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
salut,

pour répondre à ta question, est-il possible de savoir si le classeur à été enregistré ? Oui :

MsgBox ThisWorkbook.Saved

Fait le test, Ca ne te renverra TRUE que si la dern ière action à été l'enregistrement.
Si tu modifie une valeur entre temps, tu auras FALSE

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA