Utilisation d'une fonction native Calc en anglais et à deux arguments
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 :
Code:
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 |
En revanche, ce même type de fonction statistique à deux arguments génère un signal d'erreur : « com.sun.star.lang.IllegalArgumentException »
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) :
Code:
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 |
La solution est sans doute triviale, mais je rame depuis des heures sur ce problème, alors je sollicite un coup de main.
En vous remerciant.