gilles bignebat a écrit à une heure tardive: > MIPPS a écrit : (...) >>>J'ai une macro 1 qui appelle une macro 2 qui se trouve dans un 2nd >>> classeur. Cette macro 2 doit afficher une boite de dialogue qui doit me >>> permettre de choisir dans une liste. Si l'initialisation de la boite >>> de dialogue semble bien fonctionner, lorsque j'essaie d'accèder au >>> control liste qu'elle contient... ça ne va plus : "Variable d'objet >>> non définie"... >>> Lorsque j'appelle ma macro 2 directement (càd depuis le classeur qui >>> la contient), pas de problème. (...) > > OOo organise le code en bibliothèques. > Les bibliothèques "Standard" sont chargées en même temps que leurs > conteneurs respectifs (dans ton cas tes 2 classeurs) > Et donc, si le document 2 n'est pas ouvert au moment de l'appel de la > macro 2 depuis document 1 ça ne peut pas marcher.
Of course, le document 2 est ouvert lors de l'appel. La première chase que fait ma Macro 1 de document 1 c'est d'ouvrir document 2 pour qu'elle puisse y appeler Macro 2... > Or il existe aussi une bibliothèque "Standard" au niveau "Mes macros" > qui est chargée avec OOo. > Si la macro2 doit être accessible depuis n'importe quel fichier c'est là > qu'il faut la stocker. > Si tu ne veux pas néanmoins qu'elle soit chargée en permanence, tu la > mets dans une bibliothèque autre que "Standard" dans "Mes macros" et tu > la charges dynamiquement par un loadlibraries (Un exemple voir: Xray) A priori le pb n'est pas d'accéder à la macro, j'y accède et je la lance bien "à distance" depuis macro 1 de document 1 mais dans l'accès à la boite de dialogue qu'utilise macro 2 pour afficher des listes. La boite s'initialise bien mais dès qu'on essaie d'y toucher (ajout d'éléments dans la liste), ça plante. (...) > Entre les bibliothèques Standard / Autres et les emplacements Fichier / > Mes Macros / Share tu as une combinatoire qui permet de répondre à tous > les besoins. Je vais étudier cette piste Par contre j'ai remarqué qu'il s'agit d'un pb lié à des changements de comportements entre une 2.4 et une 3.1.1... Je l'ai lancé sur une 2.4 en m'attendant à avoir mon beau petit message d'erreur et... Que neni ! Sur 3.1.1 ça plante. Sur 2.4 ça marche. (déjà merci Gilles)