Bonjour
Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse.
Email:: didierjasselin@gmail.com
Sujet:: Ma macro me retourne une formule en texte et non son résultat.
Question:: Bonsoir,
J'ai dans une macro cette séquence :
rem ----------------------------------------------------------------------
dim args55(0) as new com.sun.star.beans.PropertyValue
args55(0).Name = "ToPoint"
args55(0).Value = "$G$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args55())
rem ----------------------------------------------------------------------
dim args56(0) as new com.sun.star.beans.PropertyValue
args56(0).Name = "StringName"
args56(0).Value = "Commune"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args56())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 0, Array())
rem ----------------------------------------------------------------------
dim args57(0) as new com.sun.star.beans.PropertyValue
args57(0).Name = "ToPoint"
args57(0).Value = "$G$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args57())
rem --------------------------------------------------------------------
dim args58(0) as new com.sun.star.beans.PropertyValue
args58(0).Name = "StringName"
args58(0).Value = "=DROITE(I2;NBCAR(52)-CHERCHE(""%"";SUBSTITUE(I2;"" "";""%"";NBCAR(I2)-NBCAR(SUSTITUE(I2;"" "";"""")))))"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args58())
rem ---------------------------------------------------------------------
document = thisComponent
maFeuille = document.Sheets.getByName("Feuille1")
Y = 2
maCellule = maFeuille.getCellByPosition(0,y)
While maCellule.String <> ""
zOrigine = maFeuille.getCellByPosition(6,y -1)
CellArrive = maFeuille.getCellByPosition(6,y)
maFeuille.copyRange(CellArrive.CellAddress, zOrigine.RangeAddress)
y = y + 1
maCellule = maFeuille.getCellByPosition(0,y)
Wend
rem ---------------------------------------------------------------------
curieusement la formule est restituée sous forme de texte au lieu d'afficher le résultat.
J'ai essayé aussi en faisant saisir la formule comme suit :
rem --------------------------------------------------------------------
' document = thisComponent
' maFeuille = document.Sheets.getByName("Feuille1")
' maCellule = maFeuille.getCellByPosition(6, 1)
' maCellule.FormulaLocal = "=DROITE(I2;NBCAR(I2)-CHERCHE(""%"";SUBSTITUE(I2;"" "";""%"";NBCAR(I2)-NBCAR(SUBSTITUE(I2;"" "";"""")))))"
rem ---------------------------------------------------------------------
j'obtiens la même chose !
Pouvez vous m'aider à résoudre ce problème ?
Merci d'avance
DJ