Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1502 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment exécuter une macro Excel avec paramètres depuis Word ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment exécuter une macro Excel avec paramètres depuis Word ?

n°602762
Spok
Posté le 05-01-2004 à 15:09:48  profilanswer
 

Bonjour,
 
J'ai une macro Word 97 qui doit finir par lancer Excel 97 en ouvrant une feuille de calcul existante et exécuter la macro qu'elle contient en lui passant des paramètres.
 
J'utilise la commande Shell avec succès pour lancer Excel et ouvrir le document .xls mais je n'ai pas trouvé dans l'aide la syntaxe d'appel de la macro.
 
J'ai vu que le commutateur existe pour Word mais pas pour Excel.
 
Quelqu'un aurait-il une solution pour moi ?
 
(A part Auto_Open car je ne vois pas comment lui passer les paramètres).
 
Merci
 


---------------
Spok
mood
Publicité
Posté le 05-01-2004 à 15:09:48  profilanswer
 

n°602829
MagicBuzz
Posté le 05-01-2004 à 15:56:08  profilanswer
 

N'utilise pas shell, mais dans ta macro word, crée un objet excel qui va ouvrir le fichier. ainsi, les deux macros pourront communiquer.

n°602843
Spok
Posté le 05-01-2004 à 16:05:59  profilanswer
 

Merci de ta réponse rapide.
Je me rends compte à quel point je suis nul car je ne vois pas ce que c'est que de créer depuis Word un objet Excel qui peut ouvrir un fichier, et encore moins comment les macros pourront communiquer.
 
Est-ce que tu peux m'aider (si c'est relativement simple) ou m'envoyer un exemple ?
 
Encore merci
 


---------------
Spok
n°602863
MagicBuzz
Posté le 05-01-2004 à 16:20:01  profilanswer
 

Je viens de me faire chier à faire un exemple : (en fait, je l'avais jamais fait, j'avais aucune idée de comment faire :D)
 
Crée une macro dans Word :
Déjà, avant, dans "référence", coche "Microsoft Office Excel" ou un truc comme ça, afin de pouvoir utiliser Excel depuis ta macro Word.
 


Sub tatouille()
'
' tatouille Macro
' Macro created 05/01/2004 by MagicBuzz
'
    Dim xls As Excel.Application
    Dim wkb As Excel.Workbook
     
    Set xls = New Excel.Application
    xls.Visible = True
     
    Set wkb = xls.Workbooks.Open("c:\toto.xls" )
    wkb.Application.Run "fillCell", "prout"
    wkb.Activate
End Sub


 
Et dans le fichier c:\toto.xls, crée la macro suivante :
 


Sub fillCell(val As String)
    Sheet1.Cells(1, 1) = val
    MsgBox (val)
End Sub


 
Micracle, la macro Excel récupère bien les paramètres de la macro Word :)


Message édité par MagicBuzz le 05-01-2004 à 16:20:38
n°602903
Spok
Posté le 05-01-2004 à 16:36:55  profilanswer
 

Vraiment très sympa de m'avoir fourni cet exemple complet.
Je viens de le copier-coller, je ne comprends pas tout et je bute encore sur une erreur de compilation "Type défini par l'utilisateur non défini" ! Ce qui n'est pas très clair mais sur lequel je vais faire des recherches tout seul pour ne pas t'embèter plus longtemps. J'espère juste que ce n'est pas parceque je bosse avec la version 97...
 
A charge de revanche !?!


---------------
Spok
n°602930
MagicBuzz
Posté le 05-01-2004 à 16:47:28  profilanswer
 

Dans l'éditeur VB de la macro Word, clique sur "outils > références" et ajoute "Microsoft Excel x.x Object Library"
 
http://magicbuzz.multimania.com/files/ref1.png
 
http://magicbuzz.multimania.com/files/ref2.png

n°602936
MagicBuzz
Posté le 05-01-2004 à 16:49:00  profilanswer
 

PS: j'ai jamais fait de macro avec Office 97. Pour avoir porté des macros de Office 2000 vers Office 97, je sais que je me suis heurté à plusieurs problèmes. J'espère qu'Office 97 prends bien en charge ce système. Logiquement, oui.

n°602947
Spok
Posté le 05-01-2004 à 16:51:21  profilanswer
 

Oui c'est ce que j'étais en train de faire pour finalement trouver Excel en fin de liste et en version 9.0 et maintenant cela fonctionne super bien...
 
Quand je pense que je cherchais depuis ce matin...
 
Merci mille fois !
 


---------------
Spok
n°2165688
thais781
Posté le 27-11-2012 à 20:02:50  profilanswer
 

Bonjour,
 
Je déterre ce post, je cherche a faire la meme chose mais d'Excel vers Word
Version Mac 2004
 
Mon code Dans Excel :

Code :
  1. Sub GoToWord()
  2.     Set appWD = CreateObject("Word.Application" )
  3.     appWD.Visible = True
  4.     Set Docu = appWD.Documents.Open("Macintosh HD:Users:aristorcelli:Aiuta:19. DEV:MyWord.doc" )
  5.     appWD.Run "FromExcel", "Hello World"
  6. End Sub


 
Mon code Dans Word :

Code :
  1. Sub FromExcel(val As String)
  2.     MsgBox (val)
  3. End Sub


 
et la bug au niveau appWD.Run "FromExcel", "Hello World", ne trouve pas la macro, par contra, sans l'arguments, pas de soucis....
 
Si vous avez une idée ?
 
Thais


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment exécuter une macro Excel avec paramètres depuis Word ?

 

Sujets relatifs
Visual Basic - programme à part ou Excel ?Excel Property Range( cell1, cell2).select
[Macro Excel] imprimer/sauvegarder une feuille...[asp.net sql] Executer un fichier .sql à partir d'une page .aspx
Sélection de feuille de calcul sous Excel (VBA)Lignes saut de page vba excel
passage de paramètres entre 2 fenètres htmlLancer excel via mon exe c++ builder
ramener des paramètres OUT d'une procédure stockée Oracle 
Plus de sujets relatifs à : Comment exécuter une macro Excel avec paramètres depuis Word ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR