Bonjour none,
1) d'abord, il faut bien comprendre ta formule initiale :
=SI(ESTERREUR(RECHERCHEV(B2; C:C; 1; FAUX)); "Non trouvé"; "Trouvé")
a) =RECHERCHEV(B2;C:C;1;FAUX) : FAUX ➯ recherche selon la valeur exacte ;
cherche B2 dans la colonne C ; si non trouvé : valeur d'erreur #N/A ; si trouvé :
retourne l'élément d'index 1 : valeur de C qui a été trouvée selon B2.
b) =ESTERREUR(RECHERCHEV(B2;C:C;1;FAUX)) : le retour indiqué au point a)
devient : si non trouvé : retourne "VRAI" car #N/A est bien une valeur d'erreur ;
si trouvé : retourne "FAUX" car l'élément d'index 1 qui a été trouvé n'est pas une
valeur d'erreur ; ou en simplifiant : non trouvé ➯ VRAI ; trouvé ➯ FAUX.
c) =SI(ESTERREUR(RECHERCHEV(B2;C:C;1;FAUX)); "Non trouvé"; "Trouvé") :
le retour indiqué au point b) devient : si non trouvé : retourne "Non trouvé" ;
si trouvé : retourne "Trouvé" ; ceci est possible grâce à ESTERREUR(), alors
faut pas l'enlever ! sinon, ça ne pourra plus transformer VRAI en "Non trouvé"
et FAUX en "Trouvé" !
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2) voyons maintenant ta nouvelle formule :
=SI((RECHERCHEV(B2; C:C; 1; FAUX)); "Non trouvé"; "Trouvé")
a) il y a 2 parenthèses inutiles ; ceci donne les mêmes résultats :
=SI(RECHERCHEV(B2; C:C; 1; FAUX); "Non trouvé"; "Trouvé")
b) le retour de RECHERCHEV(B2; C:C; 1; FAUX) est noté au point 1) b) ;
donc avec en plus SI(...) : pour si non trouvé : l'expression devient :
SI(#N/A; "Non trouvé"; "Trouvé") ; au lieu de retourner "Non trouvé",
ça retourne #N/A ; pourquoi ? car c'est selon la règle de propagation
des valeurs d'erreurs #N/A : un #N/A en amont retourne #N/A dans
toute formule en aval qui utilise ce #N/A (= répercussion des #N/A) ;
pour si trouvé : l'expression devient : SI(élément trouvé; "Non trouvé";
"Trouvé") ; élément trouvé est donc un nom de variable ; comme
c'est invalide pour le 1er argument d'un SI(), ça retourne : #VALEUR! ;
rappel : le 1er argument d'un SI() est la condition du SI(), qui doit
donc retourner une valeur booléenne VRAI ou FAUX (pas le texte
"VRAI" ou "FAUX").
c) tu as écrit que tu as un retour #NOM? ; ça me paraît bizarre ;
je n'ai pas eu ce retour ; soit tu t'es trompé et c'était #VALEUR! ;
soit c'était bien #NOM? mais ça se produit sur ton PC, avec ta
version d'Excel et les données de ton fichier.
rhodo