Je l'ai mis en place dès maintenant ainsi quand les données de la cellule changent, il met à jour la date. Lorsque vous actualisez le classeur, il met également à jour la date, même si je n'ai pas modifié le contenu de la cellule.Comment mettre à jour la date dans une cellule SEULEMENT si une certaine cellule est modifiée
Je veux seulement mettre à jour la date si je modifie le contenu de la cellule. Je tire mes données d'un fichier CSV donc je dois constamment me rafraîchir de temps en temps. Comment est-ce que je contourne ceci pour qu'il montre seulement la date à laquelle une cellule est vraiment modifiée?
J'ai une fonction publique configurée comme ça pour le moment, mais ça ne marche pas.
Public Function worksheetChange(ByVal Target As Range)
If Not Application.Intersect(Target, [D4]) Is Nothing Then [L4] = Date
End Function
Même quand je rafraîchir la feuille de calcul et je ne l'ai pas modifié la cellule, il met à jour encore la date, comment puis-je contourner cela?
EDIT: J'ai trouvé ce type de code VBA, mais je ne sais pas comment le faire fonctionner.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [D4]) Is Nothing Then
If Not ActiveWorkbook.RefreshAll Then [L4] = Date
End Sub
Avec le recul, ce code signifie que si l'application ne coupe pas alors prendre D4 et aussi, si le classeur ne met pas à jour, mise à jour L4 comme la date d'aujourd'hui.
Merci.
pourrait-il que [D4] est recalculée lorsque vous actualisez la feuille de calcul, bien que la nouvelle valeur est égale à l'ancienne? –
Je suppose donc, il tire les données du fichier csv lors de l'actualisation. Je veux seulement que la date change seulement si le contenu de la cellule change (c'est-à-dire banane à orange, pas banane à banane) J'ai mis à jour mon code afin de comprendre ce que j'essaie d'accomplir. – juiceb0xk
Que diriez-vous d'une solution programmatique en sauvegardant l'ancienne valeur quelque part (disons dans une autre, feuille de calcul cachée) et en testant si la valeur a changé? –