Obasic Appel Fonction CALC avec argument de plage
Bonjour, C'est ma première question, donc ...
Voilà, j'utilise la fonction VLOOKUP ou RECHERCHEV dans mon code obasic.
Je recherche dans la plage A1:K100 de la feuille "Table"
Code:
1 2 3 4 5 6 7 8
| 'REM Déclaration de la plage **********************
Doc = ThisComponent
oSheet = Doc.Sheets.GetByName ("Table")
LaPlage = oSheet.getCellRangeByName("A1:K100")
svc = createUnoService( "com.sun.star.sheet.FunctionAccess" )
SearchValue = 1 : Column = 2 : Mode = 0
arg = Array(SearchValue, LaPlage, Column, Mode)
MonResultat = svc.callFunction("VLOOKUP",arg) |
CELA FONCTIONNE
Cependant, pour certaines raisons, cette plage A1:K100 de la feuille "Table" variera dans le temps.
Donc dans ce but, j'ai défini la plage sous le nom TableDonnees avec Calc et je souhaite déclarer dans Basic
que la matrice de la fonction est cette plage définit avec Calc.
Avec :
Code:
LaPlage = Doc.NamedRanges.getByName("TableDonnees")
Pour le code :
Code:
arg = Array(SearchValue, LaPlage, Column, Mode)
CELA NE FONCTIONNE PAS
Si quelqu'un à une réponse?
Merci
1 pièce(s) jointe(s)
Déclaration service Libre Office
Merci du retour.
En fait, dans le but de simplifier, le code que j'ai montré est différent de l'original.
J'ai différencié le nom des instances comme proposé mais cela ne change rien.
J'ai mis un fichier .calc en PJ plus explicit sur la manip que j'aimerais faire.
Je voudrais réussir 3 manips :
1 - faire une déclaration public du nom de la plage utilisé Sous Calc "TableObjet"
2 - utiliser le nom de la plage déclaré public avec la fonction Vlookup
3 - Faire une déclaration public du service oFuncAcces = CreateUnoService("com.sun.star.sheet.FunctionAccess") et pouvoir l'utiliser avec
différentes fonctions calc dans le code.
Bonne journée