Rajout de la fonction "si" dans une formule insérer par VBA

Bonjour,

Je me tourne vers vous car je commence à m'arracher les cheveux .

Voilà par vba, j’insère une formule dans une cellule, via cette formule :

ActiveCell().FormulaLocal = "=ARRONDI(((" & cellule & "-$F$12)*EXP((-LN(2)/3,775)*-((CNUM(" & Hj & ")+CNUM(" & Dj & ")-(CNUM('Données brute'!$B$2)+CNUM($D$4))))));3)"

Tout fonctionne merveilleusement.

Maintenant, souhaite intégrer la fonction "si" dans ma formule insérer du genre :

ActiveCell().FormulaLocal = "=IF(" & cellule & "="""","""", ARRONDI(((" & cellule & "-$F$12)*EXP((-LN(2)/3,775)*-((CNUM(" & Hj & ")+CNUM(" & Dj & ")-(CNUM('Données brute'!$B$2)+CNUM($D$4))))));3)"

pour obtenir une formule de type =si(a1="";"";............

et là j'obtient en permanence une erreur .

Si quelqu'un a une idée?

Petit complément : "cellule", "Hj", et "Dj" sont des constantes variables définis en début de macro

A vous relire et merci à tous

Bonsoir

Manquerait pas une ) en fin ?

Comme c'est une FormuLocal il faut des ;

ActiveCell().FormulaLocal = "=IF(" & cellule & "="""";"""";ARRONDI(((" & cellule & "-$F$12)*EXP((-LN(2)/3,775)*-((CNUM(" & Hj & ")+CNUM(" & Dj & ")-(CNUM('Données brute'!$B$2)+CNUM($D$4))))));3))" 

Si pas ça un fichier ne serait pas du luxe

Merci Banzai,

Il y avait peu être le problème de la parenthèse mais je pense que le problème principale venait de 'Données brute'!$B$2 a cause des guillemet simple.

Je m'en suis aperçut en voulant te faire un exemple simplifié que ma macro. J'ai remplacé 'Données brute'!$B$2 par une valeur numérique et tout a fonctionné.

Comme quoi même si la réponse donnée n'est pas forcement la bonne cela donne toujours une autre approche des problèmes et mène à la solution.

Encore merci pour ta réponse

Rechercher des sujets similaires à "rajout fonction formule inserer vba"