Bonjour,
je viens de créer une macro à partir d'Excel qui ouvre une database Access lambda. Pour l'instant je demande à cette macro d'ouvrir cette base et de transférer les fichiers présents dans mes queries, jusque la aucun souci, quoique je trouve la macro lente donc si qq'un a une idée pour mieux compiler ou écrire le code je suis preneur.
Ce que je voudrais rajouter c'est qu'avant de transférer les queries en format excel dans un autre folder, ma macro fasse un update de la Linked Table Manager de ma table excel qui produit les queries.
Pour résumer j'ai une table dans la base access qui prend ses données d'un fichier source excel, pour la mettre à jour régulièrement, je fais le clic droit linked table manager, je clique sur la table qui a besoin d'être updaté (il n'y en a qu'une) et je mets OK pour refresh la table et donc les queries qui en découlent. Je veux que cette action soit faite via la macro excel. Si qq'un a une idée du comment faire je suis preneur. Si besoin de plus d'explications ou si je n'ai pas été clair n'hésitez pas à me le dire.
J'avais pensé passé par la DoCmd.Refresh mais soit je me trompe dans la ligne soit ce n'est pas la bonne commande.
Ci dessous mon code actuel
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
25
26
27
28 Sub Super() Dim Db As Object Dim datRef As Date Dim strPer As String 'Determination de la date du jour datRef = Date strPer = "" strPer = Format(datRef, "YYYY_MM_DD") 'Dim strSQL As String Set Db = CreateObject("Access.Application") Db.OpenCurrentDatabase ("F:\Test\Testtable.accdb") ''''''''Missing command to refresh query master link''''''' DoCmd. DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet1", "F:\Test\Depofichier_" & strPer DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet2", "F:\Test\Depofichier_" & strPer DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet3", "F:\Test\Depofichier_" & strPer DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet4", "F:\Test\Depofichier_" & strPer DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet5", "F:\Test\Depofichier_" & strPer DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet6", "F:\Test\Depofichier_" & strPer Db.Close End Sub
Partager