Dans cet article, nous allons apprendre comment exceller un classeur fermé à l’aide de VBA dans Microsoft Excel 2010.

Une fois que votre macro / code VBA a effectué toutes les actions requises, vous souhaitez que la macro enregistre le fichier ou ignore son enregistrement. Voici donc les options que vous pouvez définir dans le code tout en lui demandant de fermer le fichier.La méthode Close and Open dans VBA peut être utilisée pour fermer et ouvrir des classeurs.

Si vous voulez que le code ferme simplement le fichier sans enregistrer les modifications – utilisez cette ligne à la fin de votre code ou là où c’est nécessaire – ActiveWorkbook.Close (False) _ ou _ActiveWorkbook.Close False ou ActiveWorkbook.CloseSaveChanges: = FALSE Voir le code dans cette image ci-dessous. Pour copier le code, appuyez sur Alt + F11 sur le clavier tout en vous assurant que la feuille Excel est ouverte. Cliquez ensuite avec le bouton droit sur Objets Microsoft Excel et sélectionnez Insérer. Cliquez ensuite sur Module. Copiez le code ci-dessous l’image –

img1

Option Explicit Sub macro1 () _ _ActiveWorkbook.Close False End Sub Remarque: vous pouvez modifier le texte ActiveWorkbook pour faire référence au nom du classeur ou à la variable que vous avez utilisée pour identifier le classeur selon votre code.

Si vous souhaitez que le code enregistre les modifications lors de la fermeture du fichier, utilisez ActiveWorkbook.Close (True) _ ou _ActiveWorkbook.Close True ou ActiveWorkbook.Close SaveChanges: = TRUE

img2

Voici le code – Option Explicit Sub macro1 () _ _ActiveWorkbook.Close True End Sub Cependant, si vous voulez que l’utilisateur décide, il vous suffit d’entrer ActiveWorkbook.Close

img3

Voici le code – Option Explicit Sub macro1 () _ _ActiveWorkbook.Close End Sub L’utilisateur recevra une fenêtre contextuelle lui demandant s’il souhaite enregistrer le classeur ou non.

img4

Workbooks (« File1.XLS »). Fermer SaveChanges: = False Cet exemple fermeraFile1.xls et annulera toutes les modifications qui y ont été apportées.

Conclusion:

Si «Application.DisplayAlerts» a été défini sur False, vous n’obtiendrez aucune fenêtre contextuelle et le classeur se fermera directement sans vous demander d’enregistrer.

Cette fenêtre contextuelle apparaîtra si «Application.DisplayAlerts» n’est pas défini sur False n’importe où avant la ligne de code Excel vba Activeworkbook.Close.

Ainsi, même si le code nécessite que vous désactiviez les alertes, assurez-vous que «Application.DisplayAlerts = True» est présent avant la ligne Activeworkbook.Close.

Si vous avez aimé nos blogs, partagez-les avec vos amis sur Facebook. Et vous pouvez également nous suivre sur Twitter et Facebook.

Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer, compléter ou innover notre travail et le rendre meilleur pour vous. Écrivez-nous à[email protected]_