Insérer une formule via macro VBA

Bonjour,

Dans une macro, je souhaite insérer une ligne de code qui insère une formule dans une cellule.

La formule que je souhaite insérer est : =si(B13="BT";B22;si(B13="S";B23;B24))

La cellule dans laquelle je souhaite insérer cette formule est : B16 du feuillet 2.

En pure autodidacte que je suis, j'ai modifié une ligne issue d'un précédent travail pour obtenir cette ligne de code VBA :

Set sh = Sheets("Feuillet 2")

Range("B16").FormulaLocal = "=si(" & sh.Name & "!B13="BT";B22;si(B13="S";B23;B24))"

Mais ça ne marche pas...

Quelqu'un sait-il rédiger cela?

Merci

Nicole

Bonjour,

Fais d'abord une macro par enregistrement ....

Range("B16").FormulaR1C1 = "=IF(R[9]C[-2]=""BT"",R[18]C[-2],IF(R[9]C[-2]=""S"",R[19]C[-2],R[20]C[-2]))"

Il ne semble pas utile d'inclure le nom de la feuille si toutes les cellules sont dans la même !

Je pense que l'erreur vient des guillemets à doubler.

bonjour

je te suggère de taper la formule dans la cellule au clavier

si impossible, dis-nous pourquoi

(en 20 ans de tableurs en développement informatique pour des besoins variés, je n'ai jamais eu ce besoin)

Steelson a écrit :

Bonjour,

Fais d'abord une macro par enregistrement ....

Range("B16").FormulaR1C1 = "=IF(R[9]C[-2]=""BT"",R[18]C[-2],IF(R[9]C[-2]=""S"",R[19]C[-2],R[20]C[-2]))"

Il ne semble pas utile d'inclure le nom de la feuille si toutes les cellules sont dans la même !

Je pense que l'erreur vient des guillemets à doubler.

Merci Steelson,

Ce type de formule fonctionne.

N'oublie pas la question de jmd ... quel est ton objectif ? ta réponse m'intéresse aussi ....

Rechercher des sujets similaires à "inserer formule via macro vba"