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?
Réponses:
Créez une cellule avec la valeur Now (). Formatez-le comme vous le souhaitez - par exemple aaaa / mm / jj HH: mm: ss pour obtenir un horodatage complet en 24 heures.
Maintenant, 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 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.
la source
http://chandoo.org/wp/2009/01/08/timestamps-excel-formula-help/ explique comment implémenter les horodatages à l'aide d'une 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:
En d’autres termes, 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.
la source