Je pense que ça imite la fonction recherche
function recherchespeciale(r1 as range, r2 as range, r3 as range) as variant
decalage = r3.column - r2.column
for each c in r2
if c.value = r1.value then
recherchespeciale = c.offset(0, decalage)
end if
next c
end function
Puis dans ta feuille
=recherchespeciale(C1;C4:C6;B4:B6)
Edit:
@Amadeus
Prennons cet exemple, qui devrait en théorie être équivalent à la boucle ci dessus.. Il marche dans un Sub, mais pas dans en worksheetfunction.. Je pense qu'ils ont un problème avec la fonction find qui ne marche pas bien sur du WS.. et que la fonction recherche de ws doit s'en servir.
Function recherchespeciale(r1 As Range, r2 As Range, r3 As Range) As Variant
decalage = r3.Column - r2.Column
recherchespeciale = r2.Find(r1.Value).Offset(0, decalage)
End Function