web-dev-qa-db-fra.com

Mettre à jour automatiquement la cellule dans Excel avec l'horodatage actuel lorsqu'une autre cellule est modifiée

Dans une feuille de calcul Excel, j'aimerais mettre à jour automatiquement une cellule avec la date et l'heure actuelles lorsqu'une autre cellule est modifiée (comme un horodatage de mise à jour).

Il y a un horodatage pour chaque ligne. J'aimerais les mettre à jour dès qu'une des cellules précédentes de la ligne est mise à jour.

Avez-vous des indications sur la façon de procéder?

10
MickTaiwan

Créez une cellule avec la valeur Now (). Formatez-le comme vous le souhaitez - comme aaaa/mm/jj HH: mm: ss pour obtenir un horodatage complet dans un délai de 24 heures.

Désormais, tant que le recalcul automatique (la valeur par défaut) est défini, chaque fois qu'une autre cellule est modifiée, vous obtenez un nouvel horodatage.

Après mûre réflexion, si vous souhaitez un horodatage codé en dur, mis à jour uniquement par des actions n'incluant pas d'éléments tels que classeur ouvert, impression, etc., vous pouvez créer une macro attachée à worksheet_change. Définissez la cellule cible en tant que texte, avec une mise en forme spécifique comme avant. Utilisez quelque chose comme: Sheet1.Cells []. Value = Text (Now (), "aaaa/mm/jj HH: mm: ss") dans l'événement Worksheet_Change.

Si vous mettez cela dans un modèle qui se charge au démarrage, vous n’y penserez plus jamais.

9
wbogacz

http://chandoo.org/wp/2009/01/08/timestamps-Excel-formula-help/ explique comment implémenter l'horodatage à l'aide de formule récursive. Ils travaillent un régal.

L'article explique comment activer d'abord la formule circulaire (désactivée par défaut), puis comment créer une formule circulaire qui insère automatiquement un horodatage lorsqu'une valeur spécifique est insérée dans une cellule spécifique.

Si la cellule devant contenir l'horodatage est B3 et que la cellule à surveiller est C3, la formule est la suivante:

=IF(C3<>"",IF(B3="",NOW(),B3),"")

Autrement dit, lorsque C3 n'est pas vide, définissez B3 sur NOW () (si B3 était vide), sinon la valeur actuelle de B3.

Cela semble stable sur les mises à jour et enregistre.

8
Jonathan Wright