Bonjour Anthony Benoist
Message du 2006-06-27 10:49:
Ne trouvant pas de fonction dans l'aide, et comme je ne maîtrise pas
dans la programmation Basic la relation programme Basic/feuille Calc,
j'ai adapté ce que me donne l'enregistrement d'une macro.
[Lgn 9] dim args2(0) as new com.sun.star.beans.PropertyValue
[Lgn 10] args2(0).Name = "StringName"
[Lgn 11] args2(0).Value = str(resultfound.result)
[Lgn 12] dispatcher.executeDispatch(document, ".uno:EnterString", "",
0, args2())
C'est assez étonnant d'avoir été jusque là sans connaître les bases...
Ce codage ne marche pas parce qu'il inscrit une chaîne de caractères
dans la cellule, en général. Alors que tu souhaites mettre un nombre
Double, qui s'écrit en version locale avec une virgule décimale. La
fonction str() ne tient pas compte du Locale.
Pour rester dans l'affreux codage de l'enregistreur, il fallait en plus
modifier la ligne 11 en rajoutant le caractère =
args2(0).Value = "=" & resultfound.result
Dans cette ligne j'utilise la conversion automatique nombre vers chaîne
de Basic, qui tient compte du Locale.
Je te conseille vivement de lire au moins le début du chapitre Calc du
document L'API d'OOo (presque) sans peine, téléchargeable depuis la page
http://fr.openoffice.org/Documentation/How-to/indexht-programmation.html
Ou pour une référence plus complète, lire la bible.
http://www.eyrolles.com/Informatique/Livre/9782212117639/livre-programmation-openoffice-org-2.php
Bonne journée
Bernard