Pour utiliser VBA pour fermer un classeur, utilisez la méthode Workbook.Close et pour quitter Excel, utilisez la méthode Application.Quit.
Voici quelques exemples de code : Fermez le classeur actif et demandez si vous souhaitez enregistrer si des modifications sont apportées au classeur :
Copiez le code comme suit :
Sous FermerWorkbook()
ActiveWorkbook.Fermer
Fin du sous-marin
Si vous souhaitez éviter les invites, vous pouvez ajouter le paramètre « SaveChanges », par exemple en enregistrant et en fermant directement le classeur :
Copiez le code comme suit :
Sous ClostAndSaveWorkbook()
ActiveWorkbook.Close Savechanges :=True
Fin du sous-marin
Remplacez « Vrai » dans le code ci-dessus par « Faux » pour fermer le classeur directement sans enregistrer.
Fermez tous les classeurs ouverts et demandez si vous souhaitez enregistrer :
Copiez le code comme suit :
Sous FermerAllWorkbooks()
En cas d'erreur, reprendre ensuite
Classeurs.Fermer
Fin du sous-marin
Quittez Excel et soyez invité à enregistrer le classeur modifié :
Copiez le code comme suit :
Sous-QuitterExcel()
Application.Quitter
Fin du sous-marin
Enregistrez le classeur actif et quittez Excel :
Copiez le code comme suit :
Sous SaveActiveWorkAndQuit()
ActiveWorkbook.Save
Application.Quitter
Fin du sous-marin
Le code suivant ne vous demandera pas si vous devez enregistrer le classeur lorsque vous quittez Excel.
Enregistrez tous les classeurs ouverts et quittez Excel :
Copiez le code comme suit :
Sous SaveAllAndQuit()
Pour chaque wbk dans les classeurs
wbk.Enregistrer
Suivant
Application.Quitter
Fin du sous-marin
Quittez Excel sans enregistrer les modifications :
Copiez le code comme suit :
SubQutiAndNoAlerts()
Application.DisplayAlerts = Faux
Application.Quitter
Fin du sous-marin
Voici quelques opérations courantes dans VBA :
Ouvrir un nouveau classeur
Copiez le code comme suit :
Classeurs.Ajouter
Obtenir le nom du premier classeur
Copiez le code comme suit :
Classeurs(1).Nom
Obtenir le nombre de classeurs ouverts
Copiez le code comme suit :
Classeurs.Count
Activer le deuxième classeur ouvert
Copiez le code comme suit :
Classeurs(2).Activer
Activer le classeur Chap02.xls
Copiez le code comme suit :
Classeurs("Chap02.xls").Activer
Le classeur actuellement actif est enregistré sous NewChap.xls
Copiez le code comme suit :
ActiveWorkbook.SaveAs Filename:="NewChap.xls"
Fermez le premier classeur
Copiez le code comme suit :
Classeurs(1).Fermer
Fermez le classeur actuellement actif sans enregistrer les modifications
Copiez le code comme suit :
ActiveWorkbook.Close SaveChanges:=False
Fermez tous les classeurs ouverts
Copiez le code comme suit :
Classeurs.Fermer
Si vous avez exécuté le dernier exemple, tous vos classeurs sont désormais fermés.
Assurez-vous d'ouvrir un nouveau classeur avant de l'utiliser sur une feuille de calcul.
Lorsque vous ajoutez une seule feuille de calcul, vous devez savoir comment ajouter une nouvelle feuille de calcul au classeur, savoir comment sélectionner une feuille de calcul ou un groupe de feuilles de calcul et savoir comment nommer, copier, déplacer et supprimer des feuilles de calcul.
En VB, chaque tâche nécessite une méthode ou une propriété spécialisée.
Ajouter une nouvelle feuille de calcul
Copiez le code comme suit :
Feuilles de travail.Ajouter
Obtenez le nom de la première feuille de calcul
Copiez le code comme suit :
Feuilles de travail(1).Nom
Sélectionnez la feuille de calcul nommée "Sheet3"
Copiez le code comme suit :
Feuilles de travail (3). Sélectionnez
Sélectionnez les première, troisième et quatrième feuilles de calcul
Copiez le code comme suit : Worksheets(Array(1,3,4)).Select
Activez la feuille de calcul nommée "Feuil1"
Copiez le code comme suit :
Feuilles de calcul("Feuil1").Activer
Déplacer la feuille "Feuil2" avant la feuille "Feuil1"
Copiez le code comme suit :
Feuilles de calcul("Feuil2"). Déplacer avant :=Feuilles de calcul("Feuil1")
Renommez la feuille de calcul « Feuille 2 » en « Dépenses »
Copiez le code comme suit :
Feuilles de calcul("Feuil2").Nom = "Dépenses"
Obtenez le nombre de feuilles de calcul dans le classeur actuel
Copiez le code comme suit :
Feuilles de calcul.Count
Supprimer la feuille de calcul « Dépenses » dans le classeur actuel
Copiez le code comme suit :
Feuilles de travail("Dépenses").Supprimer