Erreur 1004 passage d'une formule depuis VBA dans une cellule

Bonjour à tous,

J'ai un problème pour passer une formule dans une cellule avec Range.Formula.

voici la ligne Range("B31").Formula = "=SI(B29=2;VRAI)"

La ligne Range("B31").Formula = "=B29" fonctionne très bien

D'autre part, si je copie manuellement la formule =SI(B29=2;VRAI) dans la cellule B31 cela fonctionne aussi parfaitement

D'autre part, si je dois passer une formule contenant des guillemets j'ai fait plusieurs tests en doublant et triplant les guillemets sans succès.

Merci d'avance pour votre aide

Cordiales salutations et encore bonne année à tous

André

Bonjour André,

Utilisez plutôt ceci

Range("B31").FormulaLocal = "=SI(B29=2;VRAI)"

A+

Hey Bruno,

ça a l'air si simple et ça fonctionne tellement mieux avec cette modification.

Un tout grand merci pour ton aide.

Cordiales salutations

André

Alors j'en profite pour poser cette question, quel est la différence entre

  • formula
  • formulaR1C1
  • formulaLocal

et il y en a peut être encore d'autres ... ?

Bonsoir famarech

Pour essayer de répondre à tes questions

- Formula : récupère ou définit la formule contenue dans une cellule de façon brute

- FormulaR1C1 : récupère ou définit la formule avec le système de référence R1C1 = Row1Column1 soit A1

- FormulaLocal : récupère ou définit la formule contenue dans une cellule avec la langue utilisée du classeur

J'espère ne pas m'être trompé et que ce sera plus claire

quand tu parle de "langue du classeur", tu parle de la langue française, anglaise, ...
ceci :
Range("B31").FormulaR1C1 = "=IF(B29=2;TRUE)"

correspond à cela:

Range("B31").FormulaLocal = "=SI(B29=2;VRAI)"

en gros ...

Re,

Erreur ta ligne avec FormulaR1C1 ne fonctionnera pas 🙄

Rechercher des sujets similaires à "erreur 1004 passage formule vba"