Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

LANCEMENT D'UNE MACRO EXCEL SUITE A GENERATION D'UN FICHIER EXCEL DEPUIS ACCESS

  • Initiateur de la discussion Nicolas
  • Date de début
N

Nicolas

Guest
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
 
K

K@d

Guest
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)
 
K

K@d

Guest
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)
 

Discussions similaires

Réponses
73
Affichages
5 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…