Résultat d'une formule dans une variable [VBA]

sb_guido

XLDnaute Nouveau
Bonjour à tous,

J'aimerais savoir comment prendre le résultat d'une formule et le "storer" dans une variable en VBA.

Par exemple,
le résultat d'une recherchev dans excel est égale à 12.
(Dans excel c'est écrit: =RECHERCHEV($C$9; DATA!$6:$36; Q13; FAUX) ce qui donne 12)

Comment storer ce résultat dans une variable nommé A directement à partir d'une code VBA ?

Je suppose :
A = Formula(SearchV(...)) qqchose du genre ?!?!



Merci d'avance pour l'aide!
Sebastien
 

Modeste geedee

XLDnaute Barbatruc
Re : Résultat d'une formule dans une variable [VBA]

Bonsour®
J'aimerais savoir comment prendre le résultat d'une formule et le "storer" dans une variable en VBA.

Par exemple,
le résultat d'une recherchev dans excel est égale à 12.
(Dans excel c'est écrit: =RECHERCHEV($C$9; DATA!$6:$36; Q13; FAUX) ce qui donne 12)

Comment storer ce résultat dans une variable nommé A directement à partir d'une code VBA ?

Sebastien

il faut utiliser la fonction Evaluate, la syntaxeVBA : Fonction en anglais, le séparateur d'instruction "," au lieu de ";"

VarA=Evaluate("VLOOKUP($C$9,DATA!$A$6:$B$36,2,FALSE)")
 

sb_guido

XLDnaute Nouveau
Re : Résultat d'une formule dans une variable [VBA]

Merci à vous deux!

geedee - c'est exactement ce dont j'avais de besoin.
Seulement, j'aimerais qu'au lieu d'avoir une référence statique (le 2) dans mon
"VLOOKUP($C$9,DATA!$A$6:$B$36,2,FALSE)"
d'avoir une référence dynamique...
Au lieu de 2, d'avoir cells(k,3):

A = Application.Evaluate("VLOOKUP($C$9,DATA!$A$6:$B$36,cells(k,3),FALSE)")

J'ai tenté cette dernière, mais ça ne fonctionne pas.

Merci encore!
 

Modeste geedee

XLDnaute Barbatruc
Re : Résultat d'une formule dans une variable [VBA]

Bonsour®
Merci à vous deux!

geedee - c'est exactement ce dont j'avais de besoin.
Seulement, j'aimerais qu'au lieu d'avoir une référence statique (le 2) dans mon
"VLOOKUP($C$9,DATA!$A$6:$B$36,2,FALSE)"
d'avoir une référence dynamique...
Au lieu de 2, d'avoir cells(k,3):

A = Application.Evaluate("VLOOKUP($C$9,DATA!$A$6:$B$36,cells(k,3),FALSE)")

J'ai tenté cette dernière, mais ça ne fonctionne pas.

Merci encore!
il faut passer le parametre VBA par concatenation dans la formule de feuille de calcul


Code:
A = Application.Evaluate("VLOOKUP($C$9,DATA!$A$6:$B$36,"& cells(k,3) &",FALSE)")
 

Discussions similaires

Réponses
6
Affichages
386

Statistiques des forums

Discussions
312 855
Messages
2 092 854
Membres
105 544
dernier inscrit
Eden90