Bonjour,
Ça vaut ce que ça vaut, mais ton idée de RECHERCHEV n'avait rien d'impossible ... en O2:
=RECHERCHEV($B2;'CHARGE BIB317'!$A$2:$M$41;COLONNES($A:B);FAUX)
ou, pour éviter l'affichage des #N/A:
=SIERREUR(RECHERCHEV($B2;'CHARGE BIB317'!$A$2:$M$41;COLONNES($A:B);FAUX);"")
... remplacer les guillemets en fin de formule par un 0, si la plage doit servir de base pour des calculs.