Dans le cadre de la configuration d’une feuille de calcul, vous souhaiterez peut-être que l’en-tête ou le pied de page contienne la date à laquelle le classeur a été modifié pour la dernière fois. Excel ne conserve pas ces informations, mais il vous permet d’effectuer des macros chaque fois que certains événements se produisent, tels que des modifications apportées à un classeur. Tout ce que vous avez à faire est d’ajouter une macro telle que la suivante à l’objet ThisWorkbook dans l’éditeur VBA:

Private Sub Workbook_SheetChange(ByVal _   Sh As Object, ByVal Target As Excel.Range)

ActiveSheet.PageSetup.CenterFooter = _       "Worksheet Last Changed: " & _       Format(Now, "mmmm d, yyyy hh:mm")

End Sub

La macro entraîne chaque pied de page sur chaque feuille de calcul dans le classeur ayant des dates et des heures distinctes sur eux, puisque chaque feuille de calcul serait mise à jour à des moments différents. Vous pouvez remplacer la propriété de destination (.CenterFooter) par l’une des autres propriétés d’en-tête ou de pied de page (.LeftHeader, .CenterHeader, .RightHeader, .LeftFooter, .RightFooter) selon vos besoins.

Vous souhaiterez peut-être que l’en-tête ou le pied de page incluent à la place la date à laquelle le classeur a été enregistré pour la dernière fois. (C’est ce que beaucoup de gens considèrent réellement comme la «date de la dernière modification».) Les informations sont visibles dans la boîte de dialogue Propriétés d’une feuille de calcul, mais Excel n’a pas de sélection de menu ou autre commande qui vous permet d’insérer cette date dans un en-tête ou bas de page. Au lieu de cela, vous devez utiliser une macro pour ajouter les informations souhaitées.

La meilleure façon d’accomplir la tâche est d’ajouter une macro à l’objet ThisWorkbook qui est déclenché juste avant l’enregistrement d’un classeur:

Private Sub Workbook_BeforeSave(ByVal _   SaveAsUI As Boolean, Cancel As Boolean)

Dim sht     For Each sht In Sheets         sht.PageSetup.CenterFooter = _           "Workbook Last Saved: " & _           Format(Now, "mmmm d, yyyy hh:mm")

Next End Sub

Cette macro parcourt chaque feuille de calcul dans le classeur et modifie chaque pied de page central pour avoir la date à laquelle le classeur a été enregistré.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (11604) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.

Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici: link: / excel-Date_Last_Edited [Date Last Edited].