XL 2021 Affichage date d'actualisation

julienha

XLDnaute Occasionnel
Bonjour,

J'ai des données que j'actualisent régulièrement, et j'aimerais affciher dans une cellule la date de la dernière actualisation.

merci pour votre aide
 

Eric KERGRESSE

XLDnaute Occasionnel
Bonjour,

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 ! 😊
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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
 

Pièces jointes

  • Datation.xlsm
    14.3 KB · Affichages: 5

julienha

XLDnaute Occasionnel
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
Merci. Est-ce possible d'utiliser en Range un tableau
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
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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
 

Pièces jointes

  • DatationV2.xlsm
    15.5 KB · Affichages: 1

julienha

XLDnaute Occasionnel
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
 

Pièces jointes

  • Date_test.xlsx
    32.4 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
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.
 

Pièces jointes

  • Date_test.xlsm
    36.5 KB · Affichages: 3

julienha

XLDnaute Occasionnel
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.
pour actualiser les données de la Feuil1 je vais dans données -> Actualiser (il y a une source externe connectée dans mon fichier réel)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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.
 

julienha

XLDnaute Occasionnel
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.
ok merci. Est-ce qu'il est possible de prendre en compte la date de la dernière actualisation du TCD par exemple
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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.
 

Discussions similaires

Réponses
4
Affichages
302
Réponses
8
Affichages
138
Réponses
1
Affichages
119
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote