Insérer une variable dans une formule VBA

Bonjour à tous,

je me demandais s'il était possible d'insérer une variable dans une formule

Cette variable fait référence à un classeur, donc il me suffirait de modifier ma variable pour que toutes mes formules prennent le bon classeur sur lequel faire les calculs

par exemple, dans ce code:

<<

dim B as string

B="Classeurtravail"

workbooks(A).activate

cells(3,8).select

Activecell.formula= "=Match(RC[-5],'[Classeurtravail]Budget'!C3,0)"

endsub

>>

1) serait-il possible de remplacer "=match(RC[-5],'[classeurtravail]Budget'!C3,0)" par "=match(RC[-5],workbooks(B).C3,0) par exemple ?

Comme ça, je n'aurai qu'à modifier la valeur de B pour que mon equiv sélectionne le bon classeur ?

2)De même, au lieu de taper match(RC[-5],...

est-il possible de déclarer X une variable avec X=3 par exemple, et faire match(cells(X,7),...

J'ai tenté en modifiant pas mal de fois la syntaxe et en regardant sur internet, mais je ne réussis pas à trouver comment procéder

Bonjour,

non testé :

Dim classeur As String, lig As Long
classeur = "classeurtravail"
lig = 3
Cells(lig, 8).Formula = "=Match(" & Cells(lig, 7).Address & ",'[" & classeur & "]Budget'!C3,0)"

RC[-5] n'aurait pu fonctionner qu'avec .FormulaR1C1

eric

Bonjour,

Merci beaucoup pour ta réponse qui a été très rapide,

j'ai testé ton code, il marche excellemment bien, ça m'économisera pas mal de copier-coller lorsque je change de classeurs (et donc le risque d'oublier d'en faire un)

je vais étudier ton code attentivement , le "& &" est magique

Merci beaucoup pour ton aide,

Anas

Rechercher des sujets similaires à "inserer variable formule vba"