2010-03-27 18:35:49 +0000 2010-03-27 18:35:49 +0000
11
11

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

Dans une feuille de calcul Excel, je voudrais 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 rangée est mise à jour.

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

Réponses (2)

9
9
9
2010-03-27 18:44:25 +0000

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

Maintenant, tant que l'option de calcul automatique (par défaut) est définie, chaque fois qu'une autre cellule est modifiée, vous obtenez un nouvel horodatage.

Après réflexion, si vous souhaitez un horodatage codé en dur, qui n'est mis à jour que par des actions n'incluant pas des choses telles que l'ouverture d'un classeur, l'impression, etc. vous pourriez créer une macro attachée à la feuille de calcul_modifier. Définissez la cellule cible comme un texte, avec un formatage spécifique comme auparavant. Utilisez quelque chose comme : Sheet1.Cells[].Value = Text(Now(), “yyyy/mm/dd HH:mm:ss”) sur l'événement Worksheet_Change.

Si vous mettez ceci dans un modèle qui se charge au démarrage, vous n'aurez plus jamais à y penser.

8
8
8
2010-05-15 01:52:21 +0000

http://chandoo.org/wp/2009/01/08/timestamps-excel-formula-help/ contient des détails sur la façon de mettre en œuvre les horodatages en utilisant une formule récursive. Ils fonctionnent à merveille.

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

Si la cellule qui doit contenir l'horodatage est B3 et la cellule à surveiller est C3, la formule est :

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

C'est-à-dire que lorsque C3 n'est pas vide, il faut mettre B3 à NOW() (si B3 était vide) sinon la valeur actuelle de B3.

Cela semble stable au fil des mises à jour et des sauvegardes.