Classe CExcel : Ecrire une formule

Le
Roumégou Eric
Bonjour,
j'ai besoin de générer un fichier excel avec des formules. (en WB12)
J'utilise donc la classe cExcel que vous devez connaitre et qui
travaille en OLE.

Pas de pb pour remplir le fichier, mais je n'arrive pas à faire des
formules
pour faire un ARRONDI(K3/I3;2)
//=ARRONDI(K3/I3;2)
wform="=ARRONDI("+monXLS:LigColXls(Numlig,11)+"/"+monXLS:LigColXls(Numlig,9)+";2)"
wform="=ROUND(RC[-1]/RC[-3],2)"
NumCol++;macellule=nomfeuille2+monXLS:LigColXls(Numlig,NumCol);monXLS:EcrireFormule(macellule,wform)


avec la méthode EcrireFormule
QUAND EXCEPTION DANS
// Ecrire une formule dans la cellule passée en paramètre
:m_xExcel>>Range(sCellule)>>FormulaR1C1 = sValeur
FAIRE
:MsgErreur("Impossible d'écrire la formule.",ExceptionInfo())
ExceptionActive()
RETOUR
FIN


Le premier essai me renvoie =ARRONDI('K3'/'I3';2).
Il m'a rajouté des quotes et ça ne fonctionne pas.

Le deuxième essai avec une syntaxe que j'ai obtenu en enregistrant une
macro me plante le OLEAutomation


Quelle est la syntaxe SVP ? (je hais le VBA et sa syntaxe à la mords
moi l'noeud)

Merci de vos réponses.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
F. MOREL
Le #19061851
Bonjour Eric,

On 5 avr, 10:34, Roumégou Eric
Bonjour,
j'ai besoin de générer un fichier excel avec des formules. (en WB12)
J'utilise donc la classe cExcel que vous devez connaitre et qui
travaille en OLE.

Pas de pb pour remplir le fichier, mais je n'arrive pas à faire des
formules
pour faire un ARRONDI(K3/I3;2)
//=ARRONDI(K3/I3;2)
wform="=ARRONDI("+monXLS:LigColXls(Numlig,11)+"/"+monXLS:LigColXls(Nu mlig,9­)+";2)"
wform="=ROUND(RC[-1]/RC[-3],2)"
NumCol++;macellule=nomfeuille2+monXLS:LigColXls(Numlig,NumCol);monXLS:E crir­eFormule(macellule,wform)

avec la méthode EcrireFormule
QUAND EXCEPTION DANS
        // Ecrire une formule dans la cellule passée en param ètre
        :m_xExcel>>Range(sCellule)>>FormulaR1C1 = sValeur
FAIRE
        :MsgErreur("Impossible d'écrire la formule.",ExceptionI nfo())
        ExceptionActive()
        RETOUR
FIN

Le premier essai me renvoie =ARRONDI('K3'/'I3';2).
Il m'a rajouté des quotes et ça ne fonctionne pas.

Le deuxième essai avec une syntaxe que j'ai obtenu en enregistrant une
macro me plante le OLEAutomation

Quelle est la syntaxe SVP ? (je hais le VBA et sa syntaxe à la mords
moi l'noeud)

Merci de vos réponses.

--
Eric Roumégou
Webmaster des wtabletteshttp://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)



Essaye plutôt d'utiliser la syntaxe
:m_xExcel>>Range(sCellule)>>Formula = sValeur

Normalement ça devrait marcher

A+
--
Francis MOREL
http://www.SoftProtect.fr
Roumégou Eric
Le #19075641
F. MOREL a écrit :
Bonjour Eric,

On 5 avr, 10:34, Roumégou Eric
Bonjour,
j'ai besoin de générer un fichier excel avec des formules. (en WB12)
J'utilise donc la classe cExcel que vous devez connaitre et qui
travaille en OLE.

Pas de pb pour remplir le fichier, mais je n'arrive pas à faire des
formules
pour faire un ARRONDI(K3/I3;2)
//=ARRONDI(K3/I3;2)
wform="=ARRONDI("+monXLS:LigColXls(Numlig,11)+"/"+monXLS:LigColXls(Numlig,9­)+";2)"
wform="=ROUND(RC[-1]/RC[-3],2)"
NumCol++;macellule=nomfeuille2+monXLS:LigColXls(Numlig,NumCol);monXLS:Ecrir­eFormule(macellule,wform)

avec la méthode EcrireFormule
QUAND EXCEPTION DANS
        // Ecrire une formule dans la cellule passée en paramètre
        :m_xExcel>>Range(sCellule)>>FormulaR1C1 = sValeur
FAIRE
        :MsgErreur("Impossible d'écrire la formule.",ExceptionInfo())
        ExceptionActive()
        RETOUR
FIN

Le premier essai me renvoie =ARRONDI('K3'/'I3';2).
Il m'a rajouté des quotes et ça ne fonctionne pas.

Le deuxième essai avec une syntaxe que j'ai obtenu en enregistrant une
macro me plante le OLEAutomation

Quelle est la syntaxe SVP ? (je hais le VBA et sa syntaxe à la mords
moi l'noeud)

Merci de vos réponses.

--
Eric Roumégou
Webmaster des wtabletteshttp://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)



Essaye plutôt d'utiliser la syntaxe
m_xExcel>>Range(sCellule)>>Formula = sValeur



Normalement ça devrait marcher

A+


Merci de ta réponse

non j'ai la meme Erreur Vous essayez d'accéder au membre automation
Formula
erruer 800A03Ec
Le membre demandé n'existe pas

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Roumégou Eric
Le #19075971
Roumégou Eric a exposé le 08/04/2009 :
F. MOREL a écrit :
Bonjour Eric,

On 5 avr, 10:34, Roumégou Eric
Bonjour,
j'ai besoin de générer un fichier excel avec des formules. (en WB12)
J'utilise donc la classe cExcel que vous devez connaitre et qui
travaille en OLE.

Pas de pb pour remplir le fichier, mais je n'arrive pas à faire des
formules
pour faire un ARRONDI(K3/I3;2)
//=ARRONDI(K3/I3;2)
wform="=ARRONDI("+monXLS:LigColXls(Numlig,11)+"/"+monXLS:LigColXls(Numlig,9­)+";2)"
wform="=ROUND(RC[-1]/RC[-3],2)"
NumCol++;macellule=nomfeuille2+monXLS:LigColXls(Numlig,NumCol);monXLS:Ecrir­eFormule(macellule,wform)

avec la méthode EcrireFormule
QUAND EXCEPTION DANS
        // Ecrire une formule dans la cellule passée en paramètre
        :m_xExcel>>Range(sCellule)>>FormulaR1C1 = sValeur
FAIRE
        :MsgErreur("Impossible d'écrire la formule.",ExceptionInfo())
        ExceptionActive()
        RETOUR
FIN

Le premier essai me renvoie =ARRONDI('K3'/'I3';2).
Il m'a rajouté des quotes et ça ne fonctionne pas.

Le deuxième essai avec une syntaxe que j'ai obtenu en enregistrant une
macro me plante le OLEAutomation

Quelle est la syntaxe SVP ? (je hais le VBA et sa syntaxe à la mords
moi l'noeud)

Merci de vos réponses.

--
Eric Roumégou
Webmaster des wtabletteshttp://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)



Essaye plutôt d'utiliser la syntaxe
m_xExcel>>Range(sCellule)>>Formula = sValeur



Normalement ça devrait marcher

A+


Merci de ta réponse

non j'ai la meme Erreur Vous essayez d'accéder au membre automation Formula
erruer 800A03Ec
Le membre demandé n'existe pas



Non correction si je met la formule en français
=ARRONDI(K3/I3;2)

c'est bon

j'espère juste que d'une config francais à une config anglais ça n,e
merde pas

les joies du VBA !!

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Publicité
Poster une réponse
Anonyme