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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

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

#1

Message 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
Modifié en dernier par scorp84 le mer. 07 juil. 2010 11:57, modifié 1 fois.
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

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

#2

Message par scorp84 »

Même pas une petite piste... snif, snif :-(

Amicalement.

BM
Avatar du membre
moutelous
Niveau 6
Niveau 6
Messages : 229
Enregistré le : sam. 09 févr. 2008 19:51
Localisation : Rennes
Status : Hors ligne

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

#3

Message 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+
A+
Avatar du membre
Ahbadiane
Niveau 5
Niveau 5
Messages : 139
Enregistré le : jeu. 20 déc. 2007 22:39
Localisation : Paris
Status : Hors ligne

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

#4

Message par Ahbadiane »

Bonjour,

une autre façon de faire : $oExcel.Application.Activesheet.Range("A7").Formula = "=SOMME(A1:B2)"
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

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

#5

Message par scorp84 »

Bonjour,

Merci à tous les 2 pour votre aide :wink:

Amicalement.

BM
Répondre