Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access

VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.

Réponse
 
Outils de la discussion
Vieux 07/10/2008, 08h06   #1 (permalink)
Membre régulier
 
Date d'inscription: janvier 2008
Messages: 110
Par défaut 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 :
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 :
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
funkyjul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/10/2008, 08h12   #2 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 968
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Regardes du coté de la syntaxe de Application.Run, tu peux passer des arguments.

Un exemple avec une fonction : http://excel.developpez.com/faq/index.php?page=VBA#Run

Philippe
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/10/2008, 08h28   #3 (permalink)
Membre régulier
 
Date d'inscription: janvier 2008
Messages: 110
Par défaut

Bonjour Philippe,

Merci pour ta réponse! J'ai jeter un coup d'oeil mais je n'arrive tjs pas à passer mon paramètre! Apparemment, Access veut une expression de la forme :

Citation:
UneVariableQuelconque = Application.run(...)
car Access me retourne toujours une erreur genre : il manque un "="!

Or je ne veux pas exécuter une fonction mais bien une procédure!
Je sèche!!
funkyjul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/10/2008, 08h37   #4 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 968
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Re

Je n'ai jamais eut besoin de l'utiliser, car quand je vais dans Excel à partir d'Access, je gère tout dans Access.

Enlève les parenthèses pour voir.

Philippe
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/10/2008, 09h43   #5 (permalink)
Membre régulier
 
Date d'inscription: janvier 2008
Messages: 110
Par défaut

Alors,

Ca avance gentiment merci! Maintenant, sans les parenthèses, Access semble accepter de lancer ma macro Excel avec mon paramètre...

Bon ça passe mais il semblerait que j'aie un problème avec mes macros Excel, elles ne font pas tout à fait ce que je veux mais je vais y travailler avant de crier au secours... en tout cas merci pour la combine des parenthèses je n'y aurait jamais pensé!

Alors à toute peut-être
funkyjul est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide