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
Dans ThisWorkbook :
Option Explicit
Dans un module standard :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Workbook_Open() Call InitializeQueries End Sub
Dans un module de classe (clsQuery) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 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
Partager