Si vous souhaitez modifier un classeur, par exemple, pour effectuer quelques calculs à la volée, mais que vous ne voulez finalement pas enregistrer les résultats et ainsi conserver le classeur dans son état d’origine, utilisez la macro .
Sub FermerLeClasseurSansEnregistrer () With application .DisplayAlerts = False .DisplayStatusBar = True .StatusBar = "Changes to the file" _ & ActiveWorkbook.Name & _ " ne sont pas sauvés!" .Wait (Now + TimeValue ("0:00:05")) .StatusBar = False End With ActiveWorkbook.Close End Sub
Si vous souhaitez fermer un classeur sans enregistrer, vous devez dans tous les cas utiliser la barre d’état pour vous informer que le classeur n’a pas été enregistré. Cette mesure de sécurité est importante car elle rappelle également aux autres utilisateurs que ce fichier ne peut pas être enregistré.
Dans la première étape, vous désactivez les messages et avertissements Excel avec la propriété DisplayAlerts. Ensuite, affichez la barre d’état avec la propriété DisplayStatusBar pour être du bon côté. Si la barre d’état est déjà affichée, cette commande est ignorée. Ensuite, écrivez un court texte d’information dans la barre d’état à l’aide de la propriété StatusBar. Vous devez laisser ce texte dans la barre d’état pendant une courte période afin que l’utilisateur puisse enregistrer ce message. Vous pouvez obtenir ce petit délai en utilisant la méthode Wait, à laquelle vous entrez l’heure actuelle (Now) comme heure de début et y ajoutez cinq secondes. Pour ajouter les cinq secondes mentionnées, vous devez utiliser la fonction TimeValue afin qu’Excel sache qu’il s’agit d’une valeur de temps. Ensuite, vous confiez la gestion de la barre d’état à Excel, ce qui signifie que votre texte d’information disparaît. Le classeur peut maintenant être fermé à l’aide de la méthode Close.