Bonjour
J'expose mon traitement.
Je dispose d'un fichier csv alimenté avec des données externes.
J'intègre ce fichier dans une feuille dédiée sur excel, "data" pour mettre à jour une table "import" depuis ma requête existante (Requêtes et connexions)
En variable globale, je déclare un Dim importTable As ListObject
Je lance un ctrl d'existence et de maj de mon fichier csv.
Si ok, je procède au QueryRefresh et je fais mes traitements.
Le problème est le suivant :
Le Query Refresh doit être ok puisque lorsque je vais sur ma page data, ma table import contient bien toute mes nouvelles datas.
Pourtant, les traitements ne sont pas effectués, je dois relancer manuellement ma sub pour que les nouvelles données soient prise en compte, un peu comme si la maj de data se faisait après coup.
Voici le code extrait tel que je l'ai écrit.
Est-ce que quelqu'un peut me dire s'il décèle une quelconque anomalie ?
Merci par avance
Thierry
filepath = "chemin vers mon fichier csv"
If NewResa(filepath) Then ' on fera le traitement ssi le fichier csv existe et qu'il a été mis à jour
With importTable.QueryTable
.BackgroundQuery = True
.Refresh
End With
'
' Traitements
'
End If
'==============================
Function NewResa(filepath) As Boolean ' On vérifie si le fichier csv existe et a été mis à jour
Dim oFile As Object
Set oFile = CreateObject("Scripting.FileSystemObject")
If Dir(filepath) <> "" Then ' le fichier existe
If oFile.GetFile(filepath).Datelastmodified > dateMAJ Then ' le fichier a été mis à jour
NewResa = True
Range("lastimport").Value = oFile.GetFile(filepath).Datelastmodified
Set importTable = Worksheets("data").ListObjects("import")
Else
NewResa = False
End If
Else
MsgBox ("Le fichier reservations.csv n'existe pas")
NewResa = False
End If
End Function