5 façons d’enregistrer un classeur dans Excel
Pour enregistrer un classeur Excel à l’aide de VBA, vous devez utiliser la méthode SAVE pour écrire une macro. Et dans cette macro, vous devez spécifier le classeur que vous souhaitez enregistrer, puis utiliser la méthode SAVE. Lorsque vous exécutez ce code, il fonctionne comme le raccourci clavier (Ctrl + S).
- Spécifiez le chapeau de classeur que vous souhaitez enregistrer.
- Tapez un point pour obtenir la liste de toutes les propriétés et méthodes.
- Sélectionnez la méthode « Enregistrer » parmi celles-ci ou tapez « Enregistrer »
- À la fin, exécutez le code pour enregistrer le classeur.
Dans ce didacticiel, nous examinerons différentes manières d’enregistrer un classeur. Assurez-vous donc d’ouvrir l’éditeur VBA à partir de l’onglet développeur pour utiliser le code que vous avez dans ce didacticiel.
Enregistrer le classeur actif
Si vous souhaitez enregistrer le classeur actif dans ce cas, vous pouvez utiliser un code comme le code suivant, au lieu de spécifier le classeur par son nom.
ActiveWorkbook.Save
Lorsque vous utilisez ActiveWorkbook comme classeur, VBA fait toujours référence au classeur qui est actif quel que soit le fichier dans lequel vous écrivez le code.
Enregistrez le classeur dans lequel vous écrivez du code
Si vous souhaitez enregistrer le fichier dans lequel vous écrivez le code, vous devez utiliser « ThisWorkbook » au lieu du nom du classeur.
ThisWorkbook.Save
Enregistrer tous les classeurs ouverts
Ici, nous pouvons utiliser une boucle pour parcourir tous les classeurs ouverts et les enregistrer un par un. Regardez le code ci-dessous.
Sub vba_save_workbook()
'variable to use as a workbook
Dim wb As Workbook
'For each to loop through each open workbook and save it
For Each wb In Workbooks
wb.Save
Next wb
End Sub
Le code ci-dessus utilise la boucle FOR EACH dans chaque classeur, il utilise la méthode SAVE pour chaque fichier un par un.
Remarque : Si vous essayez d’enregistrer un classeur avec la méthode SAVE qui n’est pas déjà enregistré, Excel affiche une boîte de dialogue pour demander votre autorisation d’enregistrer ce fichier, puis vous devez choisir si vous souhaitez enregistrer ce fichier sur l’emplacement par défaut dans le format par défaut.
Maintenant, voici le point : comme vous utilisez une macro pour enregistrer le classeur, ce fichier doit être enregistré dans le format compatible avec les macros et la meilleure façon de gérer cette situation est d’utiliser la méthode SAVE AS (nous verrons dans le section suivante de ce tutoriel).
Enregistrer en tant que fichier Excel
Pour ENREGISTRER un fichier qui n’est pas encore enregistré, en utilisant VBA, vous devez utiliser la méthode ENREGISTRER SOUS. Dans cette méthode, vous pouvez définir le nom du fichier et le chemin où vous souhaitez enregistrer le fichier, et à part cela, il y a dix autres arguments que vous pouvez définir.
expression.SaveAs (FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
Dans le code suivant, vous n’avez aucun argument avec la méthode « SAVE AS ».
Lorsque vous exécutez ce code, il vous demande quelques éléments, tels que le format que vous souhaitez utiliser pour enregistrer le fichier, ou souhaitez-vous remplacer le fichier existant déjà enregistré avec le même nom. Il est donc préférable de définir l’utilisation de certains des arguments.
Enregistrer en tant que fichier à l’emplacement actuel
Par défaut, VBA utilise l’emplacement actuel pour enregistrer le fichier. Lorsque vous écrivez du code avec la méthode SAVE AS et que vous spécifiez simplement le nom, ce fichier va directement dans le dossier actuel. Vous pouvez voir dans le code suivant où vous avez le qui enregistre le classeur actif.
Sub save_as_file()
ActiveWorkbook.SaveAs Filename:="myNewWorkbook"
End Sub
Enregistrer en tant que fichier à un emplacement spécifique
L’argument du nom de fichier vous permet également d’utiliser le chemin d’accès au cas où vous voudriez utiliser un emplacement différent pour enregistrer le fichier.
Sub save_as_file()
ActiveWorkbook.SaveAs _
Filename:="C:UsersDellDesktopmyNewBook"
End Sub
Dans le code ci-dessus, vous avez le chemin dans l’argument FileName et VBA utilise ce chemin vers le fichier.
Remarque : Vous pouvez également utiliser cette méthode pour vérifier si un classeur existe dans un dossier ou non avant d’utiliser la méthode SAVE AS pour l’enregistrer à un emplacement particulier et vous pouvez en savoir plus sur la méthode SAVE AS à partir d’ici.
Tutoriels associés
- VBA ThisWorkbook (fichier Excel actuel)
- VBA Workbook – Un guide pour travailler avec des classeurs dans VBA
- VBA Vérifier si un classeur existe dans un dossier (fichier Excel)
- VBA Vérifier si un classeur est ouvert (fichier Excel)
- Enregistrer un classeur Excel prenant en charge les macros (type de fichier .xlsm)