Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Classe CExcel : Ecrire une formule

3 réponses
Avatar
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é)

3 réponses

Avatar
F. MOREL
Bonjour Eric,

On 5 avr, 10:34, Roumégou Eric wrote:
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
Avatar
Roumégou Eric
F. MOREL a écrit :
Bonjour Eric,

On 5 avr, 10:34, Roumégou Eric wrote:
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é)
Avatar
Roumégou Eric
Roumégou Eric a exposé le 08/04/2009 :
F. MOREL a écrit :
Bonjour Eric,

On 5 avr, 10:34, Roumégou Eric wrote:
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é)