je comprends
toutefois, si je peux me permettre un conseil, je dirais la chose suivante :
lorsqu'excel peut faire le travail, j'évite de le faire faire à VBA. Bien évidement, cela suppose que mon calcul est toujours exécité dans une cellule fixe de ma feuille de calcul.
Dans ton cas, il suffit de faire entrer ton critère de recherche dans une cellule donnée par VBA et Excel exécute le calcul dans la cellule qui contient ta fonction Recherche().
Sinon, j'utilise la fonction 'enregistrer une macro', ce qui simplifie le travail d'écriture et ensuite je remplace les données 'fixes' par des variables à l'interieur de la formule.