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

Signaler
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
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

12 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012

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"
?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012

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.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012

oui,tout à fait .
Y-t-il possibilité de faire un WorkBook.Open juste avant ,pour éviter de l'ouvrir manuellement ?

Merci à toi
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012

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
Messages postés
32
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
6 février 2012

Merci à toi tout fonctionne ..

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


Merci mille fois Ucfoutu