Problème d'utilisation de macro d'un autre fichier

Résolu
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 - 15 nov. 2005 à 15:28
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 - 17 nov. 2005 à 15:29
Bonjour

Je travaille sur un projet développé en VBA sous Visio et j'ai besoin d'utiliser des macros qui se trouvent dans un fichier Excel. Dans mon code j'essaie de récupérer le résultat de la fonction (variable de type String) de la façon suivante:

myVar = Excel.Application.Run("myFile.xls!moduleVBA.myFunction")

Le message d'erreur qui apparait est "Impossible de trouver la macro 'myFile.xls!moduleVBA.myFunction' alors que j'ai bien vérifié le chemin .

Quelqu'un peut-il m'aider? Merci d'avance!

8 réponses

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
16 nov. 2005 à 02:28
Lut,
Essayes en ouvrant l'application et le classeur comme ceci

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook

Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open("myFile.xls")

xlApp.Run xlBook.Name & "!myFunction"

xlBook.Close False
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
3
cs_etniqs Messages postés 201 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 10 mai 2016
15 nov. 2005 à 15:36
t'es sûr que la fonction appelée est public ?
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
15 nov. 2005 à 15:50
Oui oui, elle est public, le problème ne vient pas de là.
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
15 nov. 2005 à 16:30
Bonjour,

Celà devrait fonctionner.



myvar = Excel.Application.Run("myFile.xls!myFuction")



jpleroisse
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
15 nov. 2005 à 17:02
J'ai déjà essayé en enlevant le nom du module mais ça ne change rien... J'ai même essayé avec une Sub plutot que Function au cas où il n'arriverait pas à récupérer un résultat, ça ne marche pas non plus...

Merci quand même.
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
16 nov. 2005 à 10:09
Merci beaucoup!
0
cs_etniqs Messages postés 201 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 10 mai 2016
16 nov. 2005 à 17:21
tiens, ça me rappelle un truc :

essaye si tu fais "'myFile.xls'!"&myFuction

un ' après le m et avant le !

j'avais eu une erreur à cause de cela dans le code...
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
17 nov. 2005 à 15:29
J'ai essayé mais ça me remet des erreurs. Je vais garder la solution de Valtrase... Merci quand même!
0
Rejoignez-nous