j'ai regardé en détail et en lisant la doc j'ai compris que VAL() s'arrête à interpreter les chaines de caractères dès qu'elle trouve autre chose qu'un nombre ou un point. Donc dans votre code, VAL("1'560") retourne le nombre 1 et c'est ce qu'il va rechercher avec FIND().
Ainsi il va bien sûr trouver la cellule contenant 1560, vu que vous cherchez partiellement (xlPart).
Néanmoins mon exemple d'utilisation ci-dessous démontre qu'elle trouve aussi toute autre cellule contenant 1, ce qui n'est pas mon objectif.
Pour finir j'ai utilisé WORKSHEETFUNCTION.COUNTIF > 0 pour déterminer si un nombre est présent dans une feuille ou pas, par valeur (et non pas par formule). Ceci me permet de constater la présence ou l'absence d'un client dans une liste, lorsque les codes clients résultent d'une série de formules VLOOKUP par exemple.
Mon opinion reste que RANGE.FIND ne remplit pas ses promesses et que COUNTIF et autres fonctions similaires sont plus conformes aux attentes les plus légitimes! (c-à-d rechercher les cellules qui contiennent une certaine valeur, sans tenir compte du format d'affichage).
A mon avis FIND() est même trompeur, car vous pourriez conclure à l'absence d'une certaine transaction dans un relevé bancaire lorsque vous la recherchez par montant, juste parce que vous n'avez pas su épeler le montant en spécifiant le format exactement comme dans le relevé!