Lancer à distance une macro présente dans un classeur partagé

EtienneChouard

XLDnaute Nouveau
Bonjour à tous,

Je n'arrive pas à lancer à distance une macro présente dans un classeur partagé (partagé sur un serveur accessible à tout le monde en TSE).

À partir d'un modèle (non partagé, mais peu importe), je lance (avec 3 paramètres) la macro d'un classeur central (qui contient une seule fois tous les programmes de façon à alléger au maximum le modèle) :

Code:
Application.Run "'2Tables programmes.xls'!Démarrage", AncienDossierParDéfaut, DossierDuClasseur, NomClasseurBC

… et ça fonctionne très bien tant que le classeur des programmes n'est pas partagé.



Dès que je partage le classeur contenant la macro à exécuter (2Tables programmes.xls), l'instruction RUN bogue et j'obtiens le message :

Erreur d'exécution '1004':

La méthode 'Range' de l'objet '_Global' a échoué

(Fin Débogage Aide)

... avec la ligne run... (ci-dessus) en surbrillance dans le débogueur.


Quelqu'un sait-il comment lancer à distance une macro présente dans un classeur partagé ?


Merci d'avance pour votre gentillesse.

Étienne.
 

JNP

XLDnaute Barbatruc
Re : Lancer à distance une macro présente dans un classeur partagé

Bonsoir EtienneChouard :),
Il faut savoir qu'un classeur partagé limite les opérations réalisables par VBA (voir l'aide à ce sujet). Donc ma première hypothèse est qu'une syntaxe n'est plus autorisée.
D'autre part, tu attaques en TSE, donc c'est un Excel partagé qui utilise un fichier partagé :eek:...
J'ai déjà fait tourner du fichier Excel (non partagé) sur du TSE, mais il attaquait une base Oracle, et c'est un fichier modèle qui était ouvert ;).
J'en déduirais donc que la meilleure solution serait d'avoir une BDD Excel, qui ne serait ouverte que par intermittence par les fichiers modèles qui contiendraient les modifications VBA, avec éventuellement, une attente tant que le fichier BDD n'aurait pas été fermé par les VBA des autres utilisateurs :D.
Bon courage :cool:
Ajout : l'application Excel du serveur TSE est-elle réglée pour accepter les macros ?
 

EtienneChouard

XLDnaute Nouveau
Re : Lancer à distance une macro présente dans un classeur partagé

Merci JNP :)

J'ai étudié la liste des restrictions, bien sûr, mais précisément, je n'ai pas relevé d'interdiction de lancer une macro à distance, et c'est pourquoi j'ai lancé ici une sorte de bouteille à la mer :rolleyes:

Remarque : par ailleurs, Excel partagé en TSE semble ne pas faire de problème pour partager un classeur : les fichiers partagés le sont effectivement.

(J'ai un autre problème, quand même, pour CHOISIR à plusieurs "LA ligne à remplir" d'une table (la première vide, OK, mais laquelle, puisqu'on est plusieurs ?) quand la synchro ne peut avoir lieu, au mieux, que toutes les 5 minutes, et pas toutes les secondes ! Mais je formulerai un autre message sur ce point précis, car c'est sans doute une autre discussion.)


À propos de ton ajout : Hum... C'est précisément pour éviter de programmer à la main tous les détails de la gestion d'une BDD partagée que je comptais un peu sur la fonctionnalité "classeurs partagés" d'Excel ;)


Pour l'instant, je m'en sors en bidouillant et, en ne partageant pas le classeur des programmes, ça semble fonctionner...
Mais le problème (d'appel extérieur d'une macro de classeur partagé) reste entier.

Amicalement.

Étienne.
 

Discussions similaires

Statistiques des forums

Discussions
312 420
Messages
2 088 265
Membres
103 796
dernier inscrit
Adrien NCH