Utiliser la propriété Saved pour déterminer si un classeur a changé

Résumé

Vous pouvez déterminer si des modifications ont été apportées à un classeur en vérifiant la propriété Saved du classeur. La propriété Saved renvoie une valeur True ou False selon que des modifications ont été apportées ou non au classeur.

Remarque

Il est possible de définir la propriété Saved sur True ou False. La section « Plus d’informations » de cet article contient des exemples de macros qui illustrent l’utilisation de la propriété Saved.

Différentes conditions dans votre feuille de calcul, telles que la présence de fonctions volatiles, peuvent affecter la propriété Saved.

Informations supplémentaires

Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d’une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.

Exemple 1 : Macro pour afficher le message si le classeur actif comporte des modifications non enregistrées

Sub TestForUnsavedChanges()
    If ActiveWorkbook.Saved = False Then
        MsgBox "This workbook contains unsaved changes."
    End If
End Sub

Exemple 2 : Macro pour fermer le classeur et ignorer les modifications

Cette macro ferme le classeur qui contient l’exemple de code et ignore les modifications apportées au classeur en définissant la propriété Saved sur True :

Sub CloseWithoutChanges()
    ThisWorkbook.Saved = True
    ThisWorkbook.Close
End Sub

Exemple 3 : Une autre macro pour fermer le classeur et ignorer les modifications

Sub CloseWithoutChanges()
    ThisWorkbook.Close SaveChanges:=False
End Sub

References

Pour plus d’informations sur l’utilisation de l’exemple de code de cet article, voir Guide pratique pour exécuter un exemple de code à partir des articles de la Base de connaissances dans Office 2000.