XL 2013 Erreur en utilisant Range.Formula alors que la formule marche dans une cellule

alnilam

XLDnaute Nouveau
Bonjour,

J'ai un problème (erreur d'exécution 1004) en entrant une formule Excel en VBA, et malgré tout ce que j'ai essayé, je n'arrive pas à comprendre mon erreur. Voici ma ligne de code. J'ai aussi essayé de passer IF, AND, OR et ISEMPTY en français, sans succès (en faisant ça, si je colle ma formule dans une cellule, j'obtiens le bon résultat par contre).

Sheets("Entrées").Range("A40").Formula = "=IF(Listes!$H$3=1;Listes!$Q$80;IF(AND(Listes!$H$3=0;Listes!$H$4=0;Listes!$H$5=0);; IF(OR(ISBLANK(Entrées!$C$37);ISBLANK(Entrées!$C$36));;IF(Entrées!$C$37/Entrées!$C$36>=4;Listes!$Q$81;IF(Entrées!$C$37/Entrées!$C$36>=1;Listes!$Q$82;"" test"")))))"


Cette formule (avec les instructions en français) étant dans une cellule de ma feuille Listes, avec j'ai aussi essayé:

Formule = Sheets("Listes").Cells(40, newcol).Formula
Sheets("Entrées").Range("A40").Formula = Formule

Là, la formule est bien copiée, mais les $ ne sont pas conservés pour les cellules de la feuille Entrées! (au lieu de $C$36 et $C$37, j'ai S52 et S53). Par ailleurs, je ne sais pas si ça fonctionnera pour un utilisateur sur Excel en anglais (en sachant que si je fais ça, c'est justement à l'intérieur de ma macro pour traduire la feuille du français à l'anglais, donc c'est important...)

Merci d'avance pour vos suggestions, que ce soit en passant par la formule dans VBA ou la copie d'une cellule d'une feuille dans une cellule de l'autre feuille en conservant les références.
 

Discussions similaires