Comment stocker des formules qui contiennent des variables, dans un tableau, san

ferredan Messages postés 5 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 23 juin 2004 - 8 avril 2004 à 19:03
ferredan Messages postés 5 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 23 juin 2004 - 9 avril 2004 à 10:44
Bonjour,

Sous EXCEL en VBA, j'ai un tableau "formule_TVC" dans lequel je souhaite stocker des formules qui varient en fonction de l'année en cours et qui contiennent une variable z (n° de ligne) :

Select Case Int(ANT)
Case Is < AN
formule_TVC_SM9(aa) = "=IF((SM9!R" & z & "C9 & SM9!R" & z & "C17 = """"),"""",(SM9!R" & z & "C" & C & "* SM9!R" & z & "C9)/(SM9!R" & z & "C9 + SM9!R" & z & "C17))"
...

La variable z sera renseignée, plus tard dans le programme à l'intérieur d'une boucle, où z prendra des valeurs différentes à chaque itération. Actuellement, lors du chargement de ce tableau, la variable z est interprétée ==> z étant vide, la formule devient RC au lieu de R & z & C (Z étant plus tard le N° de ligne).
Si, je n'arrive pas à stocker la formule, je serai obligé de faire le SELECT CASE, à chaque itération de ma boucle, d'où une perte de temps. Si quelqu'un a une solution, je suis preneur.

D'avance MERCI.

Daniel

2 réponses

Arsena Messages postés 190 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 27 septembre 2005
9 avril 2004 à 07:28
A tu essaye un "'" (apostrophe au debut de ta formule)

ex: "'=IF((SM9!R" & z & "C9 & SM9!R" & z & "C17 = """"),"""",(SM9!R" & z & "C" & C & "* SM9!R" & z & "C9)/(SM9!R" & z & "C9 + SM9!R" & z & "C17))"

c'est peut etre pas tout a fait ce que tu attend comme reponse ?

A+ et bonne journée

MD
0
ferredan Messages postés 5 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 23 juin 2004
9 avril 2004 à 10:44
Merci pour la réponse, mais cela ne fonctionne pas, même avec l'apostrophe. La variable z est interprétée.

Comme elle est EMPTY, à ce moment dans le programme, R" & z devient R. Si j'enlève les doubles quotes, après le R, la chaîne reste bien R & z.

Par contre 2 problèmes :

Comment, par la suite, faire comprendre au programme qu'il s'agit d'une formule et non d'une chaîne (quelle fonction utiliser) ?

Comment faire pour que dans la formule, le z soit, de nouveau, considéré comme une variable ?

A+
0
Rejoignez-nous