Bonjour,
J'ai dans acces un bouton qui lance une query qui crée une table et puis qui exporte cette table dans excel (C:\Trop long.xls)
J'aimerai que ce bouton effectue une opération supplémentaire, appliquer au fichier une macro excel de mise en page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 stDocName = "Créer trop long" DoCmd.OpenQuery stDocName, acNormal, acEdit DoCmd.RunSavedImportExport ("Export Trop long")
Cette macro est stockée dans C:\Program Files\Microsoft Office\Office12\XLSTART\PERSONAL.XLSB (je ne peux pas la stocker dans C:\Trop long.xls vu que le fichier est effacé des que j'en exporte une nouvelle version) et s'appelle "PERSONAL.XLSB!trop_long"
Apres avoir pioché dans la faq j'ai fait ca
Ca ouvre bien mon fichier et ca fait bien tourner la macro, par contre, ca l'ouvre en read only et je ne peux donc pas l'enregistrer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Dim objXL As Object, x On Error Resume Next Set objXL = CreateObject("Excel.Application") With objXL.Application .Visible = True .Workbooks.Open "C:\Program Files\Microsoft Office\Office12\XLSTART\PERSONAL.XLSB" .Workbooks.Open "Z:\Trop long.xls" x = .Run("PERSONAL.XLSB!trop_long") End With objXL.Save objXL.Close Set objXL = Nothing
Idealement, je voudrais que le code ouvre le fichier excel, fasse tourner la macro, sauve, et quitte le fichier.
Est-ce que quelqu'un sait comment remédier a cela?
Merci beaucoup
Emmanuelle
Partager