Avec un fichier admettant les macros (.xlsm, .xls), au moyen d'un bouton vous pourriez enregistrer la date et l'heure de la sauvegarde dans une cellule (ou une table). La seule condition pour que cela soit fiable c'est de toujours sauvegarder par ce bouton. C'est loin d'être garanti !
Bonjour Julienha, Eric,
Ou en utilisant une macro Worksheet_Change. Quand on modifie une valeur, on met à jour la date et l'heure de la modification, avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A2:A40")) Is Nothing Then Cells(Target.Row, "B") = Now
End Sub
Bonjour Julienha, Eric,
Ou en utilisant une macro Worksheet_Change. Quand on modifie une valeur, on met à jour la date et l'heure de la modification, avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A2:A40")) Is Nothing Then Cells(Target.Row, "B") = Now
End Sub
Bonjour Julienha, Eric,
Ou en utilisant une macro Worksheet_Change. Quand on modifie une valeur, on met à jour la date et l'heure de la modification, avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A2:A40")) Is Nothing Then Cells(Target.Row, "B") = Now
End Sub
Bonjour Julienha,
Avec un petit effort, un fichier test aurait évité une fois de plus de faire un peu au pif.
Alors essayez d'adapter ça :
VB:
Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [Tableau1[Donnée]]) Is Nothing Then
Cells(Target.Row, 1 + Target.Column) = Now
End If
End Sub
Bonjour Julienha,
Avec un petit effort, un fichier test aurait évité une fois de plus de faire un peu au pif.
Alors essayez d'adapter ça :
VB:
Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [Tableau1[Donnée]]) Is Nothing Then
Cells(Target.Row, 1 + Target.Column) = Now
End If
End Sub
Merci. Désolé de ne pas avoir joint de fichier avant.
En Feuil1, il y a la data sous forme de tableau et en Feuil2 le TCD qui synthétise la data.
J'aimerais avoir en E2 la date de la dernière mise à jour, après chaque actualisation de la data en Feuil1.
Merci
Comment actualiser vous les données de Feuil1 ? Par import, copie ....
La macro en PJ demande qu'on valide au moins une cellule en Feuil1 pour réactualiser la date.
Tout ce qui a été fait avant ne sert à rien si vous ne validez pas une cellule. D'où l'intérêt d'une PJ.
Comment actualiser vous les données de Feuil1 ? Par import, copie ....
La macro en PJ demande qu'on valide au moins une cellule en Feuil1 pour réactualiser la date.
Tout ce qui a été fait avant ne sert à rien si vous ne validez pas une cellule. D'où l'intérêt d'une PJ.
Sorry, je ne connait pas de macro automatique qui détecte une actualisation par une source externe.
Donc la seule possibilité que je vois, surtout avec mon XL2007, c'est de valider une cellule avec la PJ du post #7.
Mais peut être que quelqu'un de plus affuté trouvera une solution plus adéquate.
Sorry, je ne connait pas de macro automatique qui détecte une actualisation par une source externe.
Donc la seule possibilité que je vois, surtout avec mon XL2007, c'est de valider une cellule avec la PJ du post #7.
Mais peut être que quelqu'un de plus affuté trouvera une solution plus adéquate.
Bonjour,
La liste des events détectables est ici.
Il existe bien la macro événementielle "SheetPivotTableAfterValueChange" qui s'active après qu’une cellule ou une plage de cellules à l’intérieur d’un tableau croisé dynamique a été modifiée ou recalculée.
Par contre je ne l'ai jamais, et ne sait pas l'utiliser.
Sorry.