OVH Cloud OVH Cloud

RechercheV en VBA ?

4 réponses
Avatar
Alain
(Re) Bonjour,

J'en suis à souhaiter coder en VBA une RechercheV. J'ai réussi une grosse
bidouille en écrivant dans une cellule la formule, puis collage spécial ...

Ca fonctionne,
mais,
c'est pas beau hein ?

Si une bonne âme voulait bien me mettre sur la piste (éventuellement le
code), j'en serais ravi.

Et comme (je me connais) certaines autres fonctions feuille de calcul
doivent bien se coder en VBA (j'ai vu Somme par exemple), si quelqu'un
pouvait m'indiquer où / comment trouver ces équivalents, ce serait 'Broadway'
et je ne (re)viendrais ici que (?) pour des topics plus intelligents (du
moins le crois-je ;-)

Merci d'avance

4 réponses

Avatar
René Delcourt
Un début...
La formule en Excel en A9 est
=+RECHERCHEV(1;B3:C7;2)
devient en VBA
ActiveCell.FormulaR1C1 = "=+VLOOKUP(1,R[-6]C[-3]:R[-2]C[-2],2)"
Bon amusement
--
René Delcourt



(Re) Bonjour,

J'en suis à souhaiter coder en VBA une RechercheV. J'ai réussi une grosse
bidouille en écrivant dans une cellule la formule, puis collage spécial ...

Ca fonctionne,
mais,
c'est pas beau hein ?

Si une bonne âme voulait bien me mettre sur la piste (éventuellement le
code), j'en serais ravi.

Et comme (je me connais) certaines autres fonctions feuille de calcul
doivent bien se coder en VBA (j'ai vu Somme par exemple), si quelqu'un
pouvait m'indiquer où / comment trouver ces équivalents, ce serait 'Broadway'
et je ne (re)viendrais ici que (?) pour des topics plus intelligents (du
moins le crois-je ;-)

Merci d'avance


Avatar
Daniel
Bonjour.
L'équivalent VBA est worksheetfunction.vlookup.
Cordialement.
Daniel
"Alain" a écrit dans le message de news:

(Re) Bonjour,

J'en suis à souhaiter coder en VBA une RechercheV. J'ai réussi une grosse
bidouille en écrivant dans une cellule la formule, puis collage spécial
...

Ca fonctionne,
mais,
c'est pas beau hein ?

Si une bonne âme voulait bien me mettre sur la piste (éventuellement le
code), j'en serais ravi.

Et comme (je me connais) certaines autres fonctions feuille de calcul
doivent bien se coder en VBA (j'ai vu Somme par exemple), si quelqu'un
pouvait m'indiquer où / comment trouver ces équivalents, ce serait
'Broadway'
et je ne (re)viendrais ici que (?) pour des topics plus intelligents (du
moins le crois-je ;-)

Merci d'avance


Avatar
AV
En préambule, tant qu'à faire de bien démarrer "dans la carrière" laisse tomber
tout de suite RechercheTruc et adopte la combinaison de fonctions INDEX/EQUIV !

..... certaines autres fonctions feuille de calcul
doivent bien se coder en VBA (j'ai vu Somme par exemple)


Tu peux
** trouver les équivalents vba (mais il en manque)

** ou à partir de la propriété WorksheetFunction ou simplement Application
Exemple :
x = Application.VLookup(Range("E1"), Range("A1:C10"), 3)

** TOUTES les fonctions de feuille de calcul peuvent être "cuisinées" à la mode
Evaluate !
Exemple :
x = [VLOOKUP(quoi,tablo,2)]

Pour en savoir plus sur la méthode/fonction Evaluate :
http://www.excelabo.net/moteurs/compteclic.php?nom=av-evaluate

AV

Avatar
AV
La formule en Excel en A9 est
=+RECHERCHEV(1;B3:C7;2)
devient en VBA
ActiveCell.FormulaR1C1 = "=+VLOOKUP(1,R[-6]C[-3]:R[-2]C[-2],2)"


;-) Tu t'es toujours pas débarrassé des références L1C1 ?

Pour mettre la formule dans n'importe quelle cellule (ce qui n'est pas du tout
possible avec ta formulation !)
Activecell = "=VLOOKUP(1,B3:C7,2)"
suffira largement et sera beaucoup explicite...
Tu trouves pas ?

AV