Passage de paramètre depuis Access vers Excel
Bonjour, j'espère que tout va bien pour vous!
De mon côté j'ai un petit soucis avec Access! J'aimerais piloter excel depuis Access mais je n'arrive pas du tout à passer un paramètre (un nom de fichier sous la forme d'une variable String) à Excel.
En fait j'extrais une grosse quantité de données depuis Access et j'exporte le tout dans un fichier Excel. Ensuite, afin d'utiliser ces données, je synthétise les informations dans un tableau que je prends dans un autre fichier Excel et que je copie dans mon fichier d'exportation. Seulement je n'arrive pas à indiquer à Excel dans quel fichier il doit coller ce fameux tableau.
Voivi la requête Âccess dans laquelle j'exécute les macros Excel:
Code:
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
| Private Sub Mise_en_page_export(tx_fichier As String)
Dim xlApp As Excel.Application
Dim xlSheet As Excel.Worksheet
Dim xlBook As Excel.Workbook
Dim i As Long
Dim vtemp As Variant
' Initialisation des variables
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("P:\Commun\Tables temporaires\Stock_libre\Stocks_libres_FORMULES_CALCUL.xls")
'copier la matrice de calcul contenant les formules pour tableau de consolidation
xlBook.Application.Run ("copier_tableau_de_consolidation")
xlBook.Save
'coller la matrice de calcul dans le fichier fraîchement créé
xlBook.Application.Run ("coller_tableau_de_consolidation" ,tx_fichier)
'Code de fermeture
xlBook.Save
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub |
et voici le code des 2 macros que j'ai dans Excel :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sub copier_tableau_de_consolidation()
'
' copier_tableau_de_consolidation Macro
' Macro enregistrée le 06/10/2008 par Julien Braun
'
'
Application.DisplayAlerts = False
Range("D1516:AQ1537").Select
Selection.Copy
End Sub
Sub coller_tableau_de_consolidation(fichier As String)
ChDir "P:\Commun\Tables temporaires\Stock_libre"
Workbooks.Open Filename:=fichier
Range("D1516").Select
ActiveSheet.Paste
End Sub |
J'espère que je suis à peu près clair et que mon charabia est compréhensible! Quelqu'un aurait-il donc une idée pour m'aider à résoudre ou contourner mon soucis?
D'avance merci et et bonne journée