Application.run

D

Denis

Guest
Bonjour et merci de prendre le temps de me lire.

J'ai 2 documents ouverts. (appelons les A.xls et B.xls pour simplifier)
Le document A.xls contient une macro qui en appelle une qui est sur le doc B.xls d'ou une ligne d'instruction :
Application.run "'B.xls'!NomDeLaMacroAppelée"
Ce qui "fonctionne" très bien.
Mais...
Cette macro Appelée, je voudrai qu'elle fonctionne quelquesoit le nom du document C.xls, D.xls !!! (elle est bien sur sur chaque doc).

J'essaie avec une variable :

Public MonNomDoc as String

et dans la procédure :

Application.run MonNomDoc & "!NomDeLaMacroAppelée"

Résultat : Erreur d'éxécution '1004' :
Impossible de trouver la macro 'B.xls!NomDeLaMacroAppelée'.

...

Ai-je un espoir que cela puisse marcher ???

Merci d'avance
 
P

pyrof

Guest
Bonjour,

Je n'ai pas le temps de voir plus en détail, mais je pense qu'il faut dans a.xls faire une macro qui détecte le nom des fenetres actives et remplacer b.xls/macro par nomfenetre_macro

a développer
A+
 
D

Denis

Guest
Je me répond moi même à ma question :
Comme quoi, ce qui est quand même rassurant dans les recherches "macro", c'est que 100 fois sur le métier il faut remettre l'ouvrage...
C'est beau hein !!!
La solution système D que je viens de trouver en "bidouillant" systématique c'est en changeant:

Application.run MonNomDoc & "!NomDeLaMacroAppelée"

en

Application.run "'" & MonNomDoc & "'" & "!NomDeLaMacroAppelée"

Il faut bien sur, bien sur lire GuillemetApostropheGuillement après Applicaton.run...


Résultat : à priori cela marche !!!
 

Statistiques des forums

Discussions
314 651
Messages
2 111 561
Membres
111 201
dernier inscrit
netcam