Afficher la date de dernière actualisation dans une cellule

Bonjour,

J'ai cette requête (vers une liste SharePoint) qui s'actualise régulièrement :

requete actua

J'aimerais comment il serait possible de récupérer et d'afficher la date de la dernière actualisation dans une cellule du classeur.

Cela permettrait notamment de détecter quand l'actualisation n'a pas eu lieu.

Merci :)

Je vais reformuler ma problématique :

je veux juste pouvoir afficher l'heure de dernière actualisation de la source données dans une cellule du classeur,

Je parle de cette date (qui se met à jour à chaque fois qu'on clique sur "Actualiser tout", et dans mon cas car j'ai sélectionné les options aussi toutes les 15 minutes et à chaque ouverture de fichier):

Merci d'avance !

Update,

Voici la façon de faire que j'ai décidé d'adopter et qui me permet de récupérer la date à chaque actualisation des données de la source,

(Le code ci-dessous permet dans mon cas d'écrire la date de dernière actualisation dans la cellule R4 de la feuille Suivi journalier air)

Merci à Jean-Eric, réponse sur le topic : https://forum.excel-pratique.com/excel/formule-actualisation-tableau-simple-146567

Dans ThisWorkbook :

Option Explicit

Private Sub Workbook_Open()
    Call InitializeQueries
End Sub

Dans un module standard :

Option Explicit

Dim colQueries As New Collection

Sub InitializeQueries()
Dim clsQ As clsQuery
Dim WS As Worksheet
Dim QT As QueryTable
Dim lo As ListObject
    For Each WS In ThisWorkbook.Worksheets
        For Each QT In WS.QueryTables
            Set clsQ = New clsQuery
            Set clsQ.MyQuery = QT
            colQueries.Add clsQ
        Next QT
        On Error Resume Next
        For Each lo In WS.ListObjects
            Set QT = lo.QueryTable
            Set clsQ = New clsQuery
            Set clsQ.MyQuery = QT
            colQueries.Add clsQ
        Next lo
    Next WS
End Sub

Dans un module de classe (clsQuery) :

Option Explicit

Public WithEvents MyQuery As QueryTable

Private Sub MyQuery_AfterRefresh(ByVal Success As Boolean)
    If Success Then Sheets("Suivi journalier air").Range("R4").Value = Format(VBA.Now, "yyyy-MM-dd hh:mm")
End Sub

Bonjour,

Peut-être une solution ici en mettant le code sur le module de feuille et en changeant le nom de la feuille dans la macro

Private Sub Worksheet_Change(ByVal Target As Range)

Dim der_ligne As longue
Dim Longueur As Long
der_ligne = Worksheets("Nomdelafeuille").Cells.SpecialCells(xlCellTypeLastCell).Row

For Longueur = 2 To der_ligne

On Error Resume Next
    If Not Intersect(Target, Range("B" & Longueur, "J" & Longueur)) Is Nothing Then
    If Target.Value <> "" Then Range("A" & Longueur).Value = Format(VBA.Now, "yyyy-MM-dd hh:mm")
    End If
Next Longueur

End Sub

Cordialement

Rechercher des sujets similaires à "afficher date derniere actualisation"