Insérer formule dans une cellule

Bonjour,

Je cherche actuellement à insérer une formule dans une suite de cellules (Formules dans les cellules de C14 à C59).

Sub Test()
Worksheets(5).Activate
Dim C As Range
For Each C In [C14:C59]
C.FormulaLocal = "=Si(A" & C.Row & ">0;RECHERCHEV(A" & C.Row & ";PRODUITS[[Ref]:[Item]];2;FAUX);"")"
Next C
End Sub

Lorsque j'effectue cette formule, j'ai une "Erreur d'exécution'1004': Erreur définie par l'application ou par l'objet" sur la ligne : C.FormulaLocal = ...

D'où pourrais venir ce problème ?

Merci d'avance.

Alexandre

Bonjour Alexandre, bonjour le forum,

Peut-être comme ça :

    C.FormulaR1C1 = "=IF(RC[-2]>0,VLOOKUP(RC[-2],PRODUITS[[REF]:[Item]],2,FALSE),"""")"

ou comme ça :

    C.Formula = "=IF(A" & C.Row & ">0,VLOOKUP(A" & C.Row & ",PRODUITS[[REF]:[Item]],2,FALSE),"""")"

Bonjour,

Sub Test()
Worksheets(5).Activate
Dim C As Range
For Each C In [C14:C59]
C.FormulaLocal = "=SI(A" & C.Row & ">0;RECHERCHEV(A" & C.Row & ";PRODUITS[[Ref]:[Item]];2;FAUX);"""")"
Next C
End Sub

Cdlt,

Edit : Bonjour Thauthème, désolé pour le doublon :)

Re,

Arf Ergotamine ! Enfin une vraie solution...

Je suis tellement nul en formules que ta solution a toujours planté chez moi... Certainement une virgule au lieu d'un point virgule...

A vrai dire il a fallu que je recréé le tableau pour tester et me représenter la formule.

Mais Formula me semble plus robuste car ne dépend pas de la langue utilisé, c'est beaucoup plus flexible. Même si ça implique un travail de traduction, c'est un bon exercice pour l'utiliser dans les application.worksheetsfunction. Win/win !

Bonne journée !

Re,

A vrai dire il a fallu que je recréé le tableau pour tester et me représenter la formule.

Tu penses bien que moi aussi vu mon niveau...

Quelqu'en soit le cas, ta vitesse d’exécution et de compréhension est bien plus rapide que la mienne

C'est avec un peu de retard que je clôture ce sujet mais merci de votre aide

Rechercher des sujets similaires à "inserer formule"