Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lancer un macro dans un fichier xls à partir d'une commande d'ac ce

3 réponses
Avatar
bigdeal
Bonjour
Voici mon exposé :

J'ai besoin de faire un traitement dans un fichier excel.
je voudrais lancer ce traitement directement à partir d'access (dans un
module vba)
Le but de la manip est de ne pas avoir besoin de rechercher et d'ouvrir le
fichier xls et que l'opération se réalise à partir d'un bouton dans un
formulaire.
J'ai déjà écrit ma macro pour xls en vba et je l'ai placée dans "perso.xls".

La seule chose qu'il me faut c'est comment lancer cette macro à partir
d'access.

Comment à partir du moment ou on lance le module en access :
il va repérer le répertoire ou se trouve le fichier xls à traiter
comment il lance le traitement, ou si je peux recopier mon code directement
dans mon module access ?

Je recherche les posts qui ont fait l'objet de cette demande, mais je ne
trouve pas vraiment ma réponse.

je remercie tous ceux qui pourraient me donner un coup de main.

3 réponses

Avatar
Raymond [mvp]
Bonjour.

tu peux faire ceci, en décomposant les opérations:
Private Sub Commande0_Click() Dim XL_App As New Excel.Application Dim
XL_Classeur As Object Dim XL_Feuille As Object With XL_App Set
XL_Classeur = .Workbooks.Open("C:Classeur1.XLS") Set XL_Feuille =
XL_Classeur.Sheets("Feuil1") With XL_Feuille
.Application.Run "Macro1" End With .ActiveWorkbook.Save
.ActiveWorkbook.Close .Quit End With Set XL_App = Nothing
Set XL_Classeur = Nothing Set XL_Feuille = NothingEnd Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bigdeal" a écrit dans le message de
news:
Bonjour
Voici mon exposé :

J'ai besoin de faire un traitement dans un fichier excel.
je voudrais lancer ce traitement directement à partir d'access (dans un
module vba)
Le but de la manip est de ne pas avoir besoin de rechercher et d'ouvrir le
fichier xls et que l'opération se réalise à partir d'un bouton dans un
formulaire.
J'ai déjà écrit ma macro pour xls en vba et je l'ai placée dans
"perso.xls".

La seule chose qu'il me faut c'est comment lancer cette macro à partir
d'access.

Comment à partir du moment ou on lance le module en access :
il va repérer le répertoire ou se trouve le fichier xls à traiter
comment il lance le traitement, ou si je peux recopier mon code
directement
dans mon module access ?

Je recherche les posts qui ont fait l'objet de cette demande, mais je ne
trouve pas vraiment ma réponse.

je remercie tous ceux qui pourraient me donner un coup de main.




Avatar
Raymond [mvp]
je renvoie en supprimant le chinois.

Private Sub Commande0_Click()
Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("C:Classeur1.XLS")
Set XL_Feuille = XL_Classeur.Sheets("Feuil1")
With XL_Feuille
.Application.Run "Macro1"
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing
End Sub


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
Avatar
j.gonzalez5
Salut,

tu peux essayer ca :

Sub automationExcel()
Dim Ex As Excel.Application 'ajouter une référence à microsoft Excel
dans le menu outilsréférences
Dim chFichierExcel As String

chFichierExcel = "C:toto.xls"
Set Ex = CreateObject("Excel.application")
Ex.Workbooks.Open chFichierExcel
Ex.Run "maMacro" 'il peut y voir un pb si le niveau de securité
interdit les macros
Ex.ActiveWorkbook.Close False
Ex.Quit
Set Ex = Nothing
End Sub

tu peux également mettre directement le code de ta macro dans la
procédure (oublie pas de mettre ex. avant pour qu'access comprenne que
tu lui parles de la session excel créé.

Bonjour
Voici mon exposé :

J'ai besoin de faire un traitement dans un fichier excel.
je voudrais lancer ce traitement directement à partir d'access (dans un
module vba)
Le but de la manip est de ne pas avoir besoin de rechercher et d'ouvrir le
fichier xls et que l'opération se réalise à partir d'un bouton dans un
formulaire.
J'ai déjà écrit ma macro pour xls en vba et je l'ai placée dans "perso.xls".

La seule chose qu'il me faut c'est comment lancer cette macro à partir
d'access.

Comment à partir du moment ou on lance le module en access :
il va repérer le répertoire ou se trouve le fichier xls à traiter
comment il lance le traitement, ou si je peux recopier mon code directement
dans mon module access ?

Je recherche les posts qui ont fait l'objet de cette demande, mais je ne
trouve pas vraiment ma réponse.

je remercie tous ceux qui pourraient me donner un coup de main.