![]() |
|
Forum
|
|
|||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonjour,
J'ai réalisé une base de données Access qui me fait une extraction d'un fichier Excel nommé Analysetableaudebord.xls Je dois ensuite travailler ce fichier par une macro que j'ai créé sous Excel, dans mon perso.xls Je souhaiterai que dès que l'extraction du fichier excel soit réalisée depuis Access, ma macro Excel soit lancée dans la foulée, sans que l'utilisateur n'ait besoin d'aller la lancer manuellement. Est ce (facilement) possible ? Merci à vous Nicolas |
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
Salut Nicolas,
pourquoi ne lances-tu pas à ce moment-là l'extraction de ton fichier Excel dans Access depuis Excel directement ? Ta macro Excel s'éxécute alors ensuite comme l'exemple suivant : Sub Traiter_ExportAccess Dim AppAccess As Object ''' l'application Access proprement dite Dim StrBaseAcc As String ''' la base Access Dim ExportAcces as string '''nom de l'export ExportAccess=range("Export").value 'le nom du fichier d'export ' On gère une instance d'Access Set AppAccess = CreateObject("Access.Application.9") ' On ouvre la base de données Access AppAccess.OpenCurrentDatabase "MaBaseAccess", False 'on lance le macro access (fonction avec comme argument le nom du fichier d'export à créer par exemple) AppAccess.Run "MacroDexportAccess",ExportAccess 'on ferme AppAccess.Application.Quit Set AppAccess = Nothing 'et après tu éxécutes le traitement de ton fichier d'export Workbooks.open ExportAccess 'TRAITEMENT DU FICHIER End Sub Sinon, tu dois pouvoir sur le même principe gérer une instance d'Excel depuis Access... Bonne continuation & à ta disposition pour toute info supplémentaire ! Clément "S'il n'y a pas de solution, c'est qu'il n'y a pas de problème." (devise Shadock) |
|
|
#3 (permalink) |
|
Guest
Messages: n/a
|
Alors on fait le même appel depuis Access... :
Sub AppelExcel() Dim xlApp As Object Dim FileTest As String 'fichier d'export FileTest = "C:\test.xls" 'on ouvre excel Set xlApp = CreateObject("excel.application") xlApp.Visible = false xlApp.Workbooks.Open FileTest xlApp.Run "MyMacro" 'on quitte l'objet xlApp.Quit Set xlApp = Nothing End Sub Insérer une ligne On error Goto... pour gérer une éventuelle erreur et réinitialiser l'objet Excel le cas échéant. Voilà, j'espère que ça peut t'aider... Clément "S'il n'y a pas de solution, c'est qu'il n'y a pas de problème." (devise Shadock) |
| ANNONCES | |
| Liens sociaux |
| Outils de la discussion | |
|
|