VBA : Comment enregistrer et fermer un classeur (avec exemple)
Vous pouvez utiliser la syntaxe suivante dans VBA pour enregistrer et fermer un classeur :
Sub SaveClose()
ActiveWorkbook.Close _
SaveChanges:=True, _
Filename:="C:\Users\bob\Desktop\MyExcelFile.xlsx"
End Sub
Cette macro particulière enregistrera les modifications les plus récentes apportées au classeur actuellement actif, puis le fermera.
L’instruction Filename spécifie l’emplacement où enregistrer le classeur.
Notez que si vous ne souhaitez pas enregistrer les modifications avant de fermer le classeur, vous pouvez utiliser l’instruction SaveChanges:=False à la place.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : enregistrer et fermer un classeur à l’aide de VBA
Supposons que le classeur Excel suivant soit ouvert et que nous le consultions :
Supposons que nous souhaitions enregistrer les modifications les plus récentes que nous avons apportées à ce classeur, puis les enregistrer sur notre bureau.
Nous pouvons créer la macro suivante pour ce faire :
Sub SaveClose()
ActiveWorkbook.Close _
SaveChanges:=True, _
Filename:="C:\Users\bob\Desktop\MyExcelFile.xlsx"
End Sub
Une fois cette macro exécutée, les modifications les plus récentes sont enregistrées et le classeur est automatiquement fermé.
Je peux ensuite accéder au bureau de mon ordinateur et trouver le classeur Excel enregistré :
Le classeur a été enregistré sous le nom MyExcelFile.xlsx , comme nous l’avons spécifié à l’aide de l’instruction Filename .
Remarque : Vous pouvez trouver la documentation complète de la méthode Workbook.Close dans VBA ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment compter le nombre de feuilles dans un classeur
VBA : Comment extraire des données d’un autre classeur
VBA : Comment ajouter de nouvelles feuilles