Mettre la dernière date enregistrée dans une cellule (Microsoft Excel)
Kimberly se demande s’il existe une formule qu’elle peut utiliser pour mettre dans une cellule la date à laquelle le classeur a été enregistré pour la dernière fois. Même si elle ouvre le classeur tous les jours, elle souhaite uniquement que la date soit mise à jour chaque fois qu’elle choisit d’enregistrer.
Il n’y a pas de formule pour faire cela; Excel n’a pas la capacité native. Vous pouvez, cependant, créer une macro simple qui collera une valeur de date dans une cellule chaque fois que vous enregistrez le classeur. Ceci est basé sur l’événement BeforeSave, qui appartient à l’objet ThisWorkbook:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ Cancel As Boolean) Sheets(1).Range("A1").Value = Now() End Sub
Cette macro place la date (en fait, la valeur renvoyée par la fonction Now) dans la cellule A1 de la première feuille de calcul du classeur. Cette cellule doit être formatée dans Excel dans le format souhaité. Il y a un inconvénient potentiel à cette macro: si vous utilisez Enregistrer sous (pour enregistrer le classeur sous un nom différent) puis choisissez d’annuler l’enregistrement, la date est toujours mise à jour car elle a eu lieu avant l’enregistrement – ce qui signifie qu’elle a eu lieu tout comme Excel commençait à enregistrer le classeur, pas après que le classeur ait été réellement enregistré.
Il est à noter qu’Excel inclut également un événement AfterSave que vous pourriez être tenté d’utiliser pour mettre à jour les informations. Malheureusement, il présente également quelques lacunes et n’offre rien de plus infaillible que l’événement BeforeSave.
Si vous préférez, vous pouvez utiliser une approche macro-basée légèrement différente.
Celui-ci repose sur une macro régulière, pas sur un gestionnaire d’événements:
Function LastModified() As Date Application.Volatile LastModified = ThisWorkbook.BuiltinDocumentProperties("Last Save Time") End Function
Dans la cellule où vous voulez que la date apparaisse, vous appelleriez la macro de cette manière:
=LastModified()
La formule renvoie la date et l’heure du dernier enregistrement du classeur et vous pouvez le mettre en forme comme vous le souhaitez. Étant donné que la fonction est notée comme volatile, elle est mise à jour en permanence, chaque fois que la feuille de calcul est recalculée.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (13575) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.