Page 1 sur 1

[R] Insérer une formule dans une cellule Excel

Posté : jeu. 01 juil. 2010 21:28
par scorp84
Bonjour,

Je bute sur l'ajout d'une fonction dans une cellule Excel :-(

J'ai trouvé ce tuto (très bien fait d'ailleurs. Merci à 20100 :wink: ) :
http://www.autoitscript.fr/forum/viewto ... =11&t=3272

Mais il n'en parle pas :(

Dans le fichier Excel.au3, il y a bien la fonction "_ExcelWriteFormula" mais je n'arrive pas à la manipuler :-(

Voici mon bout de code :

Code : Tout sélectionner

#include <Excel.au3>
$fichier = @ScriptDir & "\test.xls"


_ExcelBookOpen($fichier)
$oExcel = ObjGet("","Excel.Application")
$oExcel.SheetsInNewWorkbook = 1
$oExcel.Visible = 1

$test = $oExcel.Activesheet.Cells(1,1).Value
$test2 = $oExcel.Activesheet.Cells(1,2).Value
;msgbox(0,"",$test&" "&$test2)

_ExcelWriteCell($oExcel, $test+$test2, 5, 1)

_ExcelWriteFormula($oExcel, "=SOMME(R1C1:R1C2)", 6, 1)

MsgBox(0,"Error",@error)
Et ce qui est bizarre, c'est que @error est à 0.

Dans l'UDF, il est dit :
$sRangeOrRow - Either an A1 range, or an integer row number to write to if using R1C1
; $iColumn - The column to write to if using R1C1 (default = 1)
Voyant que cela ne marchait pas avec R1C1, j'ai essayé avec

Code : Tout sélectionner

_ExcelWriteFormula($oExcel, "=SOMME(A1:B1)", 6, 1)
Mais là, j'obtiens dans la cellule : =SOMME('A1':'B1') et comme il me rajoute des apostrophes, la cellule affiche #NOM?

J'ai essayer de chercher sur google mais je n'ai pas trouvé comment faire.

Quelqu'un aurait il une solution ?

Merci d'avance.

Amicalement.

BM

Re: [..] Insérer une formule dans une cellule Excel

Posté : mar. 06 juil. 2010 15:00
par scorp84
Même pas une petite piste... snif, snif :-(

Amicalement.

BM

Re: [..] Insérer une formule dans une cellule Excel

Posté : mar. 06 juil. 2010 22:34
par moutelous
Bonjour,
scorp84 a écrit :_ExcelWriteFormula($oExcel, "=SOMME(R1C1:R1C2)", 6, 1)
Remplacez R1C1:R1C2 par L1C1:L1C2 et cela fonctionnera parfaitement à condition que votre version d'Excel soit en langue Française. (Row = Ligne ....)

A+

Re: [..] Insérer une formule dans une cellule Excel

Posté : mer. 07 juil. 2010 09:37
par Ahbadiane
Bonjour,

une autre façon de faire : $oExcel.Application.Activesheet.Range("A7").Formula = "=SOMME(A1:B2)"

Re: [..] Insérer une formule dans une cellule Excel

Posté : mer. 07 juil. 2010 11:57
par scorp84
Bonjour,

Merci à tous les 2 pour votre aide :wink:

Amicalement.

BM