Comment : enregistrer des classeurs par programmationHow to: Programmatically Save Workbooks

Il existe plusieurs façons d'enregistrer un classeur.There are several ways to save a workbook. Vous pouvez le faire sans modifier le chemin d'accès.You can save a workbook without changing the path. Si le classeur n'a pas été enregistré auparavant, vous devez l'enregistrer en spécifiant un chemin d'accès.If the workbook has not been saved before, you should save the workbook by specifying a path. Sans chemin d'accès explicite, Microsoft Office Excel enregistre le fichier dans le dossier actif avec le nom qui lui a été attribué lors de sa création.Without an explicit path, Microsoft Office Excel saves the file in the current folder with the name it was given when it was created. Vous pouvez également enregistrer une copie du classeur sans modifier le classeur ouvert en mémoire.You can also save a copy of the workbook without modifying the open workbook in memory.

S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de niveau document et aux projets de compléments VSTO pour Excel.Applies to: The information in this topic applies to document-level projects and VSTO add-in projects for Excel. Pour plus d’informations, consultez Fonctionnalités disponibles par type d’application et de projet Office.For more information, see Features Available by Office Application and Project Type.

Enregistrement d’un classeur sans modifier le chemin d’accèsSaving a Workbook Without Changing the Path

Pour enregistrer un classeur associé à une personnalisation au niveau du documentTo save a workbook associated with a document-level customization

  1. Appelez la méthode Save de la classe ThisWorkbook.Call the Save method of the ThisWorkbook class.

    this.Save();
    
    Me.Save()
    

Pour enregistrer le classeur actif dans un complément VSTOTo save the active workbook in a VSTO Add-in

  1. Appelez la méthode Microsoft.Office.Interop.Excel._Workbook.Save* pour enregistrer le classeur actif.Call the Microsoft.Office.Interop.Excel._Workbook.Save* method to save the active workbook. Pour utiliser l'exemple de code suivant, exécutez-le dans la classe ThisAddIn dans un projet de complément VSTO pour Excel.To use the following code example, run it in the ThisAddIn class in a VSTO Add-in project for Excel.

    this.Application.ActiveWorkbook.Save();
    
    Me.Application.ActiveWorkbook.Save()
    

Enregistrement d’un classeur avec un nouveau chemin d’accèsSaving a Workbook with a New Path

Vous pouvez enregistrer le classeur spécifié dans un nouvel emplacement ou avec un nouveau nom, en spécifiant éventuellement un format de fichier, un mot de passe, un mode d'accès, etc.You can save the specified workbook to a new location or with a new name, optionally specifying a file format, a password, an access mode, and more.

Note

Vous souhaiterez peut-être définir la Microsoft.Office.Interop.Excel._Application.DisplayAlerts* propriété False avant d’enregistrer le classeur avec un nouveau chemin d’accès car l’enregistrement sous certains formats exige une interaction.You might want to set the Microsoft.Office.Interop.Excel._Application.DisplayAlerts* property to False before saving the workbook with a new path because saving in some formats requires interaction. Si cette propriété False indique à Excel d’utiliser les valeurs par défaut.Setting this property to False causes Excel to use all defaults.

Pour enregistrer un classeur associé à une personnalisation au niveau du documentTo save a workbook associated with a document-level customization

  1. Appelez la méthode SaveAs de la classe ThisWorkbook.Call the SaveAs method of the ThisWorkbook class. Pour utiliser l'exemple de code suivant, exécutez-le dans la classe ThisWorkbook.To use the following code example, run it in the ThisWorkbook class.

    this.SaveAs(@"C:\Book1.xml", missing,
        missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlNoChange,
        missing, missing, missing, missing, missing);
    
    Me.SaveAs("C:\Book1.xml")
    

Pour enregistrer le classeur actif dans un complément VSTOTo save the active workbook in a VSTO Add-in

  1. Appelez la méthode Microsoft.Office.Interop.Excel._Workbook.SaveAs* pour enregistrer le classeur actif avec un nouveau chemin d'accès.Call the Microsoft.Office.Interop.Excel._Workbook.SaveAs* method to save the active workbook to a new path. Pour utiliser l'exemple de code suivant, exécutez-le dans la classe ThisAddIn dans un projet de complément VSTO pour Excel.To use the following code example, run it in the ThisAddIn class in a VSTO Add-in project for Excel.

    this.Application.ActiveWorkbook.SaveAs(@"C:\Test\Book1.xml", 
        Excel.XlSaveAsAccessMode.xlNoChange);
    
    Me.Application.ActiveWorkbook.SaveAs("C:\Test\Book1.xml")
    

Enregistrement d'une copie du classeurSaving a Copy of the Workbook

Vous pouvez enregistrer une copie du classeur dans un fichier sans modifier le classeur ouvert en mémoire.You can save a copy of the workbook to a file without modifying the open workbook in memory. Cela est utile quand vous souhaitez créer une copie de sauvegarde sans modifier l'emplacement du classeur.This is useful when you want to create a backup copy without modifying the location of the workbook.

Pour enregistrer un classeur associé à une personnalisation au niveau du documentTo save a workbook associated with a document-level customization

  1. Appelez la méthode SaveCopyAs de la classe ThisWorkbook.Call the SaveCopyAs method of the ThisWorkbook class. Pour utiliser l'exemple de code suivant, exécutez-le dans la classe ThisWorkbook.To use the following code example, run it in the ThisWorkbook class.

    this.SaveCopyAs(@"C:\Book1.xlsx");
    
    Me.SaveCopyAs("C:\Book1.xlsx")
    

Pour enregistrer le classeur actif dans un complément VSTOTo save the active workbook in a VSTO Add-in

  1. Appelez la méthode Microsoft.Office.Interop.Excel._Workbook.SaveCopyAs* pour enregistrer une copie du classeur actif.Call the Microsoft.Office.Interop.Excel._Workbook.SaveCopyAs* method to save a copy of the active workbook. Pour utiliser l'exemple de code suivant, exécutez-le dans la classe ThisAddIn dans un projet de complément VSTO pour Excel.To use the following code example, run it in the ThisAddIn class in a VSTO Add-in project for Excel.

    this.Application.ActiveWorkbook.SaveCopyAs(@"C\Book1.xlsx");
    
    Me.Application.ActiveWorkbook.SaveCopyAs("C\Book1.xlsx")
    

Programmation fiableRobust Programming

L'annulation interactive d'une quelconque des méthodes qui enregistrent ou copient le classeur génère une erreur d'exécution dans votre code.Interactively canceling any of the methods that save or copy the workbook raises a run-time error in your code. Par exemple, si votre procédure appelle la SaveAs méthode mais ne pas désactiver les invites d’Excel, et que l’utilisateur clique sur Annuler lorsque vous y êtes invité, Excel génère une erreur d’exécution.For example, if your procedure calls the SaveAs method but does not disable prompts from Excel, and your user clicks Cancel when prompted, Excel raises a run-time error.

Voir aussiSee Also

Utilisation des classeurs Working with Workbooks
Élément hôte de classeur Workbook Host Item
Comment : fermer des classeurs par programmation How to: Programmatically Close Workbooks
Limitations de programmation des éléments hôtes et des contrôles hôtes Programmatic Limitations of Host Items and Host Controls
Paramètres optionnels dans les Solutions Office Optional Parameters in Office Solutions
Vue d’ensemble des éléments hôtes et des contrôles hôtesHost Items and Host Controls Overview