Bonjour,
Dans le cadre de mon travail, j'essaye de construire un code vba pour déterminer la position d'une valeur en fonction du résultat d'un recherchev, soit:
colonne_structure = WorksheetFunction.Match(WorksheetFunction.VLookup(Sheets("Base Données Dépenses").Cells(ligne, 4), Sheets("Arbre Analytique").Range("A:Q"), 14, False), Sheets("Structure SA ENCC").Range("3:3"), 0)
Ici, mon Vlookup va chercher un numéro, et va chercher ce numéro dans une liste pour ramener le résultat d'une colonne.
Ce résultat peut être une valeur numérique ou du texte.
Ensuite, je cherche ce résultat dans un autre tableau, une ligne plus précisément, et je souhaite avoir la position de mon résultat dans cette ligne (soit la colonne où se trouve ce résultat).
J'ai ensuite essayé d'imbriqué le tout, mais j'obtiens une erreur 1004 impossible de lire la propriété de la classe worksheetfunction pour match.
Ce qui est certain, c'est que j'ai bien un résultat.
En l’occurrence, le numéro chercher dans le vlookup est le 102. Le résultat a ramené est le 93111, et ce résultat se trouve dans la colonne 115 de ma ligne 3.
Si je remplace mon vlookup par la valeur 93111 dans le match me trouve bien 115.
Et si je cherche 102 avec mon vlookup il me trouve bien 93111.
Je ne comprends pas pourquoi l'addition des deux ne fonctionne pas.
Merci pour votre aide
Amariel
Partager