Bonjour à tous,
Ça y est, j'ai sauté le pas et je converti toutes mes anciennes feuilles de calcul VBA en Basic LibreOffice.
A cet effet, j'essaie d'utiliser les fonctions natives de Calc, et cela fonctionne parfaitement pour les fonctions à un argument comme celle-ci :
En revanche, ce même type de fonction statistique à deux arguments génère un signal d'erreur : « com.sun.star.lang.IllegalArgumentException »
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Function MOYENNEPERSO(Vecteur As Double) As Double Dim LFonction As Object LFonction = createUnoService( "com.sun.star.sheet.FunctionAccess" ) MOYENNEPERSO = LFonction.CallFunction("AVERAGE",Vecteur) End Function
Cet exemple est supposé calculer la pente de la droite passant au plus près des points expérimentaux d'abscisses LVecteur1 et d'ordonnées LVecteur2.
(Pour simplifier, j'ai déplacé les deux arguments utilisés à l'intérieur de la fonction) :
La solution est sans doute triviale, mais je rame depuis des heures sur ce problème, alors je sollicite un coup de main.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Function PENTEPERSO() As Double Dim LVecteur1(4) As Double Dim LVecteur2(4) As Double Dim LVecteur(1) As Variant LVecteur1=Array(0.83, 1.32, 1.81, 1.63, 2.8) LVecteur2=Array(0.24, 0.37, 0.49, 0.63, 0.76) LVecteur=Array(LVecteur1,LVecteur2) Dim LFonction As Object LFonction = createUnoService( "com.sun.star.sheet.FunctionAccess" ) PENTEPERSO = LFonction.CallFunction("SLOPE", LVecteur() ) End Function
En vous remerciant.
Partager