Bonjour a tous,
Formule RECHERCHEV() transposé en VBA 
Après lecture et mise en pratique dans une feuille Excel, du tutoriel RECHERCHEV()
(vraiment très bien ce tutoriel) j’essaie de transposer cette fonction RECHERCHEV() en VBA.
Malgré mes nombreuses tentatives, je ne parviens pas à la faire fonctionner.
Je pense avoir une erreur de syntaxe.
Au final j’envisage d’utiliser cette fonction dans plusieurs TextBox sur une USF.
RECHERCHEV() sera imbriqué avec COLONNE(), dans le but de pallier au problème d’ajout – suppression de colonne dans la feuille Excel, qui me sert de base de données.
Je me suis complètement perdu avec la syntaxe, dans un premier temps j’aimerais faire fonctionner la fonction RECHERCHEV() uniquement dans sa plus simple expression.
Comme avec cette version :
C’est la variable NumCodeArticle qui fournit le numéro à chercher.
La variable RecupValeur récupère la « Désignation » qui correspond au « Code article » de l’élément cherché.
RecupValeur = Evaluate("VLOOKUP( " & NumCodeArticle & ",Feuil2!A1:AT9000,Feuil2!E1) ")
Les variables NumCodeArticle et RecupValeur sont de type Variant cars je n’ai pas su trouver le type exact à utiliser sans que cela génère une erreur (type incompatible)
Lorsque j’exécute cette Sub, la variable RecupValeur ne renvoie rien du tout. (Même pas un signe).
Si je modifie le type des variables par Long et String j’obtiens une erreur (erreur d’exécution 13, Incompatibilité de type). Et la variable RecupValeur renvoie : RecupValeur= ‘’ ‘’
1 2 3 4 5 6 7 8 9 10
| Sub FormuleDeRechercheFormatVBA()
Dim NumCodeArticle As Variant
Dim RecupValeur As Variant
NumCodeArticle = 9104299
RecupValeur = Evaluate("VLOOKUP( " & NumCodeArticle & ",Feuil2!A1:AT9000,Feuil2!E1) ")
End Sub |
Voilà au final ce que je cherche à faire fonctionner dans des TexBox.
C’est le contenu de la variable RecupValeur qui fournira la value des TexBox
( TexBox4.value= RecupValeur
Ici c’est RECHERCHEV() imbriquer avec COLUMN() et les données se trouve sur un classeur différent ( un autre classeur) que celui qui contient la USF.
1 2
|
RecupValeur = Evaluate("VLOOKUP(& NumCodeArticle & ,[DEVLSAPTRAV500.xls]DEVL.SAP.TRAV.S00!C1:C46,COLUMN([DEVLSAPTRAV500.xls]DEVL.SAP.TRAV.S00!R1C5))") |
Je crois qu’il y a des erreurs sur la syntaxe.
Merci a tous pour un coup de main.
Partager