Bonjour Xavier,

Cela ne marche pas parce que l'évaluation des expressions Calc à l'ouverture du
document se fait avant l'évènement "Chargement du document".
La solution est soit de laisser les fonctions dans Standard, soit de créer dans
Standard une fonction relais pour chaque fonction, qui charge la bibliothèque,
appelle la fonction de la bibliothèque et renvoie le résultat obtenu...

Si tu mets la bibliothèque dans Mes Macros, tu peux charger OpenOffice avant
d'ouvrir le document Calc, et ça fonctionne.
Sauf qu'il y a une bogue :
Il faut que la bibliothèque s'appelle Library1 !
Si la bibliothèque ne s'appelle pas Library1, mais par exemple machin ou
Library2, Calc renvoie obstinément #VALEUR! même si la bibliothèque est déjà
chargée ! On revient alors à la solution précédente.

   Bernard


Message de xavier roguiez  date 2009-12-08 21:14 :

xavier roguiez a écrit :
Bonsoir

j'avais stocké toutes mes macros fonctions dans la librairie standard. L'appel depuis calc se faisait donc sans problème, mais j'ai finalement déplacé ces macros fonctions, dans une autre librairie identique sous un autre nom ooBA.

J'ai ensuite crée une procédure
Sub ChargeOO
 BasicLibraries.LoadLibrary("ooBA")
End Sub
Que je lance à l'ouverture, mais les fonctions ne sont toujours pas accessibles sous Calc. Dans les cellules il me répond "?NOM"

Cela doit être tout bête mais je sèche sur le dossier ?
Bonsoir

En fait j'ai un peu modifié mon fichier, mais cela ne fonctionne toujours pas comme je le voudrais. J'ai un fichier ooBA.ods qui contient dans la librairie ooBA, avec toutes mes macros fonctions.

J'ai un sous routine :
 Sub LoadingLibraries
  BasicLibraries.LoadLibrary("ooBA")
 End Sub

Ensuite sous calc j'ai personnalisé, afin que la macro LoadingLibraries soit lancé à l'ouverture du document. Mais ce que j'observe, c'est que calc se lance, recalcule toutes les cellules puis charge mes macros...Et pendant le recalcul il lui manque toutes les fonctions, et il m'affiche "#NOM ?"
Si j'édite la cellule et valide, le calcul se fait.

Et je voudrais l'inverse, est ce possible ? C'est à dire que Calc charge mes macros puis lance le recalcul des cellules.

Je pense pouvoir le faire en installant mes macros dans Open Office directement et non dans le fichier source ooBA.ods. Mais en cours de développement je voulais le faire en "local"

Est ce que je passe à côté de quelque chose ?

D'avance merci
xavier

---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org







---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org

Répondre à