Formule Excel en VBA fr/en [Résolu]

Signaler
Messages postés
6
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
28 avril 2008
-
Messages postés
6
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
28 avril 2008
-
Bonjour à tous,
Voilà j'ai un petit problème de passage d'une formule Excel du français à l'anglais pou le mettre dans un code VBA.

voici ma formule :
SI(B2"";RECHERCHEV(A2;'TBC CDE'!A:F;6;FAUX);RECHERCHEV(B2;'TBC CDE'!A:F;6;FAUX))

Et maintenant voici mon code

For i = 2 To nbLigne

formule = "=IF(B" & i & "=" & Chr(34) & Chr(34) & ",VLOOKUP(A" & i & ",'TBC CDE'!A:F,6,FALSE),VLOOKUP(B" & i & ",'TBC CDE'!A:F,6,FALSE))"

Cells(i, 25).FormulaR1C1 = formule

Next

Mon problème réside dans le fait que au lieu d'écrire par exemple B2 dans la formule, excel le transforme en 'B2'. Ces cotes rende fausse la formule et je me retrouve avec un joli #NOM#

si quelqu'un a une idée, ça fait quelque jour que je bloque sur cette procédure

merci

3 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
utilises la propriété Formula

au lieu de FormulaR1C1 et ca ira
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
en effet, la syntaxe R1C1 diffère complètement de la syntaxe A1...

? selection.formulaR1C1
IF(R[-18]C[-3]"",VLOOKUP(R[-18]C[-4],'TBC CDE'!C[-4]:C[1],6,FALSE),VLOOKUP(R[-18]C[-3],'TBC CDE'!C[-4]:C[1],6,FALSE))
Messages postés
6
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
28 avril 2008

merci bien ça fonctionne nickel