Bonjour, > -----Message d'origine----- > De : [email protected] > [mailto:[email protected]] > Envoyé : samedi 17 décembre 2016 18:44 > > Email:: [email protected] > 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
J'ai reproduit la macro dans LibO 5.2.3.3 sous Vista, et le résultat est un code d'erreur, ce qui est normal puisque je n'ai pas les données, en remplaçant la formule par =MOYENNE(A1:A10) j'obtiens le bon résultat. MAIS ...si je formate auparavant les cellules en Texte, alors en effet, j'obtiens le texte de la formule, ce qui est logique => voir de ce coté là. Cordialement, Michel PS: Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse. -- Envoyez un mail à [email protected] pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
