Message d'erreur avec APPLICATION.RUN [Résolu]

Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012
- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 30 janv. 2012 à 11:51
Bonjour à tous et à toutes.


J'essaie d'executer une macro sous 2010,lors du débogage en mode "PAS à PAS",J'obtiens sur cette ligne :


Application.Run "NomFichier.xls!maFonction"


Le message d'erreur suivant :
erreur d'execution 1004
La méthode "RUN" de l'objet _Application a echoué

Quelqu'un aurait une idée ?

Merci à tous et à toutes
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
3
Merci
Oh !
Relis mon dernier message : tu peux le faire sur un classeur non oyuvert, comme je te l'ai exposé !

Mais (et c'est un autre aspect) : je reste assez étonné de ce que tu appelles une macro(ou routine ou fonction, peu importe) d'un autre classeur, sans lui passer de paramètre. Que doit faire cette procédure qui serait ainsi valable pour tout (par curiosité) ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 196 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
3
Merci
Hé bé !
Tu ne trouves pas que c'est un peu comme utiliser un marteau pour mettre une punaise sur un tableau ?
Sans compter que le jour où ton autre classeur disparaîtrait, ou serait renommé ou déplacé, il te coûtera très cher, ce marteau !





____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 196 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Bonjour,

Deux causes possiblkes (et tu es seul à le savoir) :
1) le classeur NomFichier.Xls n'est pas ouvert (ou mal orthographié)
2) la macro mafonction est dans un module que tu n'as pas défini.

Exemple d'utilisation ( pour classeur Fichier.xls ouvert)
Application.Run "Fichier.xls!Module1.Test"


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Ah !
J'ai oublié de parler d'une 3ème cause possible :
3) un nom de classeur comportant des espaces ou signe -


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012
0
Merci
Oui cela fonctionne en ajoutant le Numéro du module.

Maintenant j'ai le meme soucis sur la meme instruction sauf que la

je suis sur monClasseurA

et je fais ceci dans une fonction

Application.Run "monClasseeurB.xls!maFonctionde
monClasseurB"
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

et j'ai le meme message d'erreur il faut ajouter le nom du classeur devant maFonctionde
monClasseurB"
?
Commenter la réponse de debutVBAEXCEL
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Mets (par copier/coller) ce que tu as écrit (pas de simulation, mais ce que tu as exactement dans ton code), en précisant :
- les classeurs ouverts à ce moment-là.
- le module où se trouve la fonction appelée par run


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012
0
Merci
re,

Donc j'ai deux classeurs ,un qui s'appelle
TestFichier.xls et un autre TestFichierBis.xls

La je suis dans le classeur TestFichier.xls et j'ai la routine ci dessous dans le module 5 du classeur TestFichier.xls

sub FinalF
    Application.Run "TestFichierBis.xls!Module3.SortieF"
end Sub


Le classeur TestFichierBis.xls n'est pas ouvert


Donc j'ai toujours l'erreur 1004
Merci à toi.
Commenter la réponse de debutVBAEXCEL
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Le classeur TestFichierBis.xls n'est pas ouvert

et que t'ai-je dit dans mon message de 10h18 (cause possible n° 1) ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
S'il est fernmé, c'est le chemin complet, qu'il faut donner (c'est évident, car comment saurait-il où se troucve ce classeur ?!)
exemple, donc :
Application.Run "'C:\Mes documents\TestFichierBis.xls'!Module3.SortieF"

Note l'ajout de simple-quotes '
Juste pour le cas où ce chemin contiendrait des espaces.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012
0
Merci
oui,tout à fait .
Y-t-il possibilité de faire un WorkBook.Open juste avant ,pour éviter de l'ouvrir manuellement ?

Merci à toi
Commenter la réponse de debutVBAEXCEL
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012
0
Merci
re,

Merci à toi pour ta réponse ,cela fonctionne bien..

En faite cette sous -routine sert juste à sortir de la macro sans fermer l'application .

Mais en tout cas cela fonctionne très bien
Commenter la réponse de debutVBAEXCEL
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012
0
Merci
Merci à toi tout fonctionne ..

En fait,la sous routine sert juste à sortir de la macro sans fermer l'pplication ..


Merci mille fois Ucfoutu
Commenter la réponse de debutVBAEXCEL