Invite de suppression de l'enregistrement des modifications lors de la fermeture d'un classeur dans Excel

Remarque : Nous faisons de notre mieux pour vous fournir le contenu d’aide le plus récent aussi rapidement que possible dans votre langue. Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez-vous nous indiquer en bas de page si ces informations vous ont aidé ? Voici l’article en anglais à des fins de référence aisée.

Résumé

Dans Microsoft Excel, vous pouvez créer une macro Microsoft Visual Basic pour applications (VBA) qui supprime l'invite Save Changes (enregistrer les modifications ) lors de la fermeture d'un classeur. Pour ce faire, vous devez spécifier l'état de la propriété classeur enregistré ou en supprimant toutes les alertes pour le classeur.

Informations supplémentaires

PRÉLIMINAIREMicrosoft fournit des exemples de programmation uniquement à des fins d'illustration, sans garantie, expresse ou implicite. Cela comprend, sans s'y limiter, les garanties implicites en matière de qualité marchande ou d'adéquation à un but particulier. Cet article part du principe que vous êtes familiarisé avec le langage de programmation présenté et avec les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support Microsoft peuvent vous permettre d'expliquer les fonctionnalités d'une procédure particulière. Toutefois, ils ne pourront pas modifier ces exemples pour fournir des fonctionnalités ajoutées ou des procédures de construction qui répondent à vos exigences spécifiques. 

Pour préparer la mise en œuvre de l'un des exemples ci-dessous, vous devez d'abord procéder comme suit:

  1. Démarrez Excel et ouvrez un nouveau classeur.

  2. Appuyez sur ALT + F11 pour démarrer Visual Basic Editor.

  3. Dans le menu insertion , cliquez sur module.

  4. Tapez l'exemple de code de macro dans la feuille de module.

  5. Pour revenir à Excel, appuyez sur ALT + F11.

  6. Dans Microsoft Office Excel 2003 et dans les versions antérieures d'Excel, choisissez macro dans le menu Outils , puis cliquez sur macros.

    Dans Microsoft Office Excel 2007, dans le groupe code de l'onglet développeur , cliquez sur macros

    Si l'onglet développeur n'est pas disponible, procédez comme

    suit:     un. Cliquez sur le bouton Microsoft Office , puis sur Options Excel.

    p. Dans la catégorie standard , sous meilleures options pour travailler avec Excel, cliquez pour sélectionner le Diaporama
    .         Onglet Développeur dans le ruban
    , puis cliquez sur OK.

  7. Sélectionnez la macro de votre choix, puis cliquez sur exécuter.

La propriété saved renvoie la valeur false si des modifications ont été apportées à un classeur depuis son dernier enregistrement.

Vous pouvez utiliser le nom de sous-programme réservé Auto_Close pour spécifier une macro qui doit être exécutée dès que le classeur est fermé. Ainsi, vous pouvez contrôler la façon dont le document est géré lorsque l'utilisateur ferme les documents dans Excel.
 

Exemple 1: fermer le classeur sans enregistrer les modifications

Pour forcer la fermeture d'un classeur sans enregistrer les modifications, tapez le code suivant dans un module Visual Basic de ce classeur:
 

    Sub Auto_Close ()

        ThisWorkbook. Saved = true

    Fin Sous

Lorsque la propriété saved est définie sur true, Excel répond comme si le classeur a déjà été enregistré et aucune modification n'a été apportée depuis ce dernier enregistrement.


La propriété DisplayAlerts du programme peut être utilisée dans le même but. Par exemple, la macro suivante désactive la fonction DisplayAlerts , ferme le classeur actif sans enregistrer les modifications, puis réactive la fonction DisplayAlerts .
 

    Sub CloseBook ()

        Application. DisplayAlerts = false

        ActiveWorkbook. Close

        Application. DisplayAlerts = true

    Fin Sous

Vous pouvez également utiliser l'argument SaveChanges de la méthode Close .

La macro suivante ferme le classeur sans enregistrer les modifications:
 

    Sub CloseBook2()

        ActiveWorkbook.Close savechanges:=False

    End Sub

Exemple 2: fermer le classeur et enregistrer les modifications

Pour forcer un classeur à enregistrer les modifications, tapez le code suivant dans un module Visual Basic de ce classeur:
 

    Sub Auto_Close ()

        Si ThisWorkbook. Saved = false,

            ThisWorkbook. Save End If

    Fin Sous

Cette procédure est utilisée pour vérifier si la propriété enregistrement du fichier a été définie sur false. Si tel est le cas, cela signifie que le classeur a été modifié depuis le dernier enregistrement et que ces modifications sont enregistrées.

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider