Problème pour insérer une formule dans une cellule

Bonjour,

J'ai l'habitude de toujours trouver mon bonheur dans ce forum lorsque je bute sur un problème, mais là je suis vraiment désespéré, et je n'ai pourtant pas l'impression qu'il s'agisse d'un problème compliqué mais lorsque je lance ma macro qui fait tout un tas de choses, elle bloque sur cette ligne ci-après et me renvoie une erreur 1004.

Je cherche simplement à mettre dans une cellule la formule suivante :

=SI(ET((O3<>"bouge");(O4<>"bouge");(O5<>"bouge");(O6<>"bouge");(O7<>"bouge");(O8<>"bouge");(O9<>"bouge");(O10<>"bouge");(O11<>"bouge");(O12<>"bouge");(O13<>"bouge"));"arrêt";SI(ET((O3="arrêt");(O4="arrêt");(O5="arrêt");(O6="arrêt");($O$3:O3)<>"bouge");"arrêt";"bouge"))

et mon code VBA est le suivant :

Range("P3").Select
ActiveCell.Value = "=SI(ET((O3<>" & Chr(34) & "bouge" & Chr(34) & ");(O4<>" & Chr(34) & "bouge" & Chr(34) & ");(O5<>" & Chr(34) & "bouge" & Chr(34) & ");(O6<>" & Chr(34) & "bouge" & Chr(34) & ");(O7<>" & Chr(34) & "bouge" & Chr(34) & ");(O8<>" & Chr(34) & "bouge" & Chr(34) & ");(O9<>" & Chr(34) & "bouge" & Chr(34) & ");(O10<>" & Chr(34) & "bouge" & Chr(34) & ");(O11<>" & Chr(34) & "bouge" & Chr(34) & ");(O12<>" & Chr(34) & "bouge" & Chr(34) & ");(O13<>" & Chr(34) & "bouge" & Chr(34) & "));" & Chr(34) & "arrêt" & Chr(34) & ";SI(ET((O3=" & Chr(34) & "arrêt" & Chr(34) & ");(O4=" & Chr(34) & "arrêt" & Chr(34) & ");(O5=" & Chr(34) & "arrêt" & Chr(34) & ");(O6=" & Chr(34) & "arrêt" & Chr(34) & ");($O$3:O3)<>" & Chr(34) & "bouge" & Chr(34) & ");" & Chr(34) & "arrêt" & Chr(34) & ";" & Chr(34) & "bouge" & Chr(34) & "))"

J'ai essayé en doublant mes guillemets, et là j'ai essayé avec des Char(34) . Je trouve cela très lourd et je suis sur qu'il y a moyen d'alléger tout ça.

Je précise que les bouge et arrêt doivent être entre guillemets dans la formule, c'est même la cause de mon problème

Merci d'avance pour votre aide !

Bonjour,

essaye cela, ça fonctionne chez moi :

Range("P3").FormulaLocal = "=SI(ET((O3<>""bouge"");(O4<>""bouge"");(O5<>""bouge"");(O6<>""bouge"");(O7<>""bouge"");(O8<>""bouge"");(O9<>""bouge"");(O10<>""bouge"");(O11<>""bouge"");(O12<>""bouge"");(O13<>""bouge""));""arrêt"";SI(ET((O3=""arrêt"");(O4=""arrêt"");(O5=""arrêt"");(O6=""arrêt"");($O$3:O3)<>""bouge"");""arrêt"";""bouge""))"

Dis moi si ça marche bien chez toi,

RemBabar

bonjour

salut RemBabar,

pourquoi coller une formule en dynamique ?

on suppose qu'il faut cette formule plusieurs fois par jour (et des milliers de fois dans le cas de milliers de lignes)

ne peut-on pas utiliser les "tableaux" ?

ou bien travailler sur un miroir (cas d'un fichier récupéré par export) ?

Merci beaucoup RemBabar, à la fois pour ta rapidité et pour ton efficacité ! Ça marche nickel !

Bonjour,

Je reviens vers vous car j'ai sensiblement le même problème...

Je souhaite entrer une formule dans une cellule grâce au code suivant :

Range("B4").FormulaLocal = "=NB.SI(" & Feuille1 & "!B$3:B$300000;""<""&$A4)-B3"

mais lors de l'exécution de ma macro, cela me renvoie l'erreur 1004.

Est-ce que cette ligne de code est bonne ou est-ce que l'erreur peut venir d'autre chose ?

(Feuille1 est la variable string dans laquelle je mets le nom de l'onglet 1)

Bonjour TorukMakto,

Le code de la formule marche parfaitement chez moi,

peut-être as-tu mal rentré la valeur dans Feuille1 ?

Essaye quand même ça (on ne sait jamais) :

Range("B4").FormulaLocal = "=NB.SI(" & Feuille1 & "!B$3:B$60000;""<""&$A4)-B3"

edit: Fait aussi attention à ne pas écrire cette formule sur ta Feuille1, sinon cela crée un référence circulaire (formule que se calcule en fonction de elle-même..)

Tiens moi au courant,

RemBabar

Bonjour, et merci de ta réponse encore une fois !

J'ai réussi à corriger mon erreur, et c'était les $ qui posaient problème. Voici mon nouveau code, qui fonctionne cette fois :

Range("B4").FormulaLocal = "=NB.SI(" & Feuille1 & "!B3:B" & DernLigne & ";""<""&A4)-B3"

La variable DernLigne renvoie la valeur de la dernière ligne du tableau dont la taille peut varier.

Encore merci !

Rechercher des sujets similaires à "probleme inserer formule"