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

debutVBAEXCEL 32 Messages postés lundi 16 janvier 2012Date d'inscription 6 février 2012 Dernière intervention - 30 janv. 2012 à 10:07 - Dernière réponse : ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention
- 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 

Votre réponse

12 réponses

Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 30 janv. 2012 à 11:20
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

Merci ucfoutu 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 30 janv. 2012 à 11:51
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

Merci ucfoutu 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 30 janv. 2012 à 10:18
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 30 janv. 2012 à 10:36
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
debutVBAEXCEL 32 Messages postés lundi 16 janvier 2012Date d'inscription 6 février 2012 Dernière intervention - 30 janv. 2012 à 10:43
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 30 janv. 2012 à 10:54
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
debutVBAEXCEL 32 Messages postés lundi 16 janvier 2012Date d'inscription 6 février 2012 Dernière intervention - 30 janv. 2012 à 11:05
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 30 janv. 2012 à 11:09
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 30 janv. 2012 à 11:15
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
debutVBAEXCEL 32 Messages postés lundi 16 janvier 2012Date d'inscription 6 février 2012 Dernière intervention - 30 janv. 2012 à 11:16
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
debutVBAEXCEL 32 Messages postés lundi 16 janvier 2012Date d'inscription 6 février 2012 Dernière intervention - 30 janv. 2012 à 11:46
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
debutVBAEXCEL 32 Messages postés lundi 16 janvier 2012Date d'inscription 6 février 2012 Dernière intervention - 30 janv. 2012 à 11:48
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.