OVH Cloud OVH Cloud

FormulaLocal et autres

14 réponses
Avatar
Annie
Bonjour,

Dans une macro en VBA, je d=E9sire placer une formule dans=20
une cellule. J'ai de la difficult=E9 =E0 saisir la diff=E9rence=20
entre FormulaLocal, FormulaR1C1, etc. Laquelle je dois=20
utiliser?

=C9galement, une de mes formules que je dois ajouter dans=20
une cellule contient une r=E9f=E9rence =E0 une autre feuille du=20
classeur. Est-ce que cela peut m'occasionner un=20
probl=E8me? Si oui, comment puis-je le contourner?

Merci =E0 l'avances pour vos bonnes suggestions

4 réponses

1 2
Avatar
Pascal Engelmajer
salut Isabelle,
ma réponse était bizarre et fausse...
Range("R1").FormulaLocal = "=SI('Q2-Compagnie'!I2=0,"""",""!"")"
mais la il n'y a rien de bizarre qui fait planter cette fonction : ,
(virgule) se traduit par ; (point-virgule) en FormulaLocal

Range("R1").FormulaLocal = "=SI(Q2-Compagnie!I2=0 ; """" ; ""!"")"
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"isabelle" a écrit dans le message de news:

re bonjour Annie,

c'est bizarre ce truc, en anglais ça passe bien mais pas en français.

Range("R1").FormulaLocal = "=SI('Q2-Compagnie'!I2=0,"""",""!"")"

Range("R2").Formula = "=IF('Q2-Compagnie'!I2=0,"""",""!"")"

isabelle


Merci Isabelle, tu as éclairé ma lanterne!

Cependant, j'ai un problème avec ma référence à une autre
feuille. J'ai le code suivant:

Range("R2").FormulaLocal = "=SI(Q2-'Compagnie'!
I2=0;"";"!")"

Je reçois toujours le message suivant:

Erreur de compilation:
Attendu: fin d'instruction

Qu'est-ce qui ne fonctionne pas dans ma formule?

Merci beaucoup
-----Message d'origine-----
Bonjour,

Dans une macro en VBA, je désire placer une formule dans
une cellule. J'ai de la difficulté à saisir la
différence

entre FormulaLocal, FormulaR1C1, etc. Laquelle je dois
utiliser?

Également, une de mes formules que je dois ajouter dans
une cellule contient une référence à une autre feuille du
classeur. Est-ce que cela peut m'occasionner un
problème? Si oui, comment puis-je le contourner?

Merci à l'avances pour vos bonnes suggestions
.







Avatar
isabelle
:-) c'est bien ça Pascal, merci ! pour cette précision.

isabelle


salut Isabelle,
ma réponse était bizarre et fausse...
Range("R1").FormulaLocal = "=SI('Q2-Compagnie'!I2=0,"""",""!"")"
mais la il n'y a rien de bizarre qui fait planter cette fonction : ,
(virgule) se traduit par ; (point-virgule) en FormulaLocal

Range("R1").FormulaLocal = "=SI(Q2-Compagnie!I2=0 ; """" ; ""!"")"
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"isabelle" a écrit dans le message de news:

re bonjour Annie,

c'est bizarre ce truc, en anglais ça passe bien mais pas en français.

Range("R1").FormulaLocal = "=SI('Q2-Compagnie'!I2=0,"""",""!"")"

Range("R2").Formula = "=IF('Q2-Compagnie'!I2=0,"""",""!"")"

isabelle


Merci Isabelle, tu as éclairé ma lanterne!

Cependant, j'ai un problème avec ma référence à une autre
feuille. J'ai le code suivant:

Range("R2").FormulaLocal = "=SI(Q2-'Compagnie'!
I2=0;"";"!")"

Je reçois toujours le message suivant:

Erreur de compilation:
Attendu: fin d'instruction

Qu'est-ce qui ne fonctionne pas dans ma formule?

Merci beaucoup
-----Message d'origine-----
Bonjour,

Dans une macro en VBA, je désire placer une formule dans
une cellule. J'ai de la difficulté à saisir la
différence

entre FormulaLocal, FormulaR1C1, etc. Laquelle je dois
utiliser?

Également, une de mes formules que je dois ajouter dans
une cellule contient une référence à une autre feuille du
classeur. Est-ce que cela peut m'occasionner un
problème? Si oui, comment puis-je le contourner?

Merci à l'avances pour vos bonnes suggestions
.









Avatar
AV
Avec les noms de fonctions en anglais et la virgule comme séparateur décimal, on
peut se passer des "formula" et se contenter d'une égalité :

[R1] = "=IF(Q2-Compagnie!I2=0 ,"""" , ""!"")"

AV
Avatar
AV
Pffff.....
Il faut lire "...la virgule comme séparateur d'argument" et non "la virgule
comme séparateur décimal"

AV
1 2