Fonction SIERREUR retourne #VALEUR

Bonjour,

Ma fonction

=SI(P2="","",SIERREUR(RECHERCHEV([Pays],Tableau3,3,FAUX),"")&P2)+0

me retourne #VALEUR! au lieu de "" comme je l'ai spécifié. Où est mon erreur ?

Bonjour,

Ce n'est pas ta fonction SIERREUR qui te retourne #VALEUR!

Mais le fait que tu ajoutes 0 à du texte,

=SI(P2="","",SIERREUR(RECHERCHEV([Pays],Tableau3,3,FAUX),"")&P2)+0

si on regarde le type de valeur que te renvoient tes fonctions tu as:

=SI(texte,texte,SIERREUR(texte,texte)&texte)+nombre

=SI(texte,texte,texte)+nombre

=texte+nombre

Tu te retrouves avec une incompatibilité de type ce qui fait que tu as l'erreur #VALEUR!

Car tu as un soucis avec au moins une de tes valeurs dans ta formule.

En effet je vois qu'en enlevant le +0, j'obtiens bien le résultat escompté car le type utilisé est uniquement du texte.

Le problème est que je dois utiliser un format pour cette colonne (voir https://forum.excel-pratique.com/viewtopic.php?f=2&t=118687).

Ah, je crois qu'on t'a mal conseillé,

si ce que tu veux c'est un nombre à la fin, alors tu devrais commencer par :

=SI(P2="",0,SIERREUR(RECHERCHEV([Pays],Tableau3,3,FAUX),0)&P2)+0

puis ensuite:

=cnum(SI(P2="",0,SIERREUR(RECHERCHEV([Pays],Tableau3,3,FAUX),0)&P2))

cnum permet de convertir un nombre texte en nombre considéré comme un nombre.

Du coup tu auras:

=cnum(SI(P2="",nombre,SIERREUR(texte/nombre,nombre)&texte))

=cnum(SI(P2="",nombre,texte)

=cnum(nombre/texte)

=nombre

Merci de me dire si ça te va (et si ça fonctionne comme je n'ai rien testé)

EDIT: C'est vrai qu'on peut aussi faire +0 dans certains cas pour faire comprendre à Excel qu'on veut un nombre à la fin, mais c'est dangereux dans ton cas, en plus je préfère utiliser cnum qui pour le coup montre bien qu'on convertis en nombre, mais c'est surtout le fait de remplacer le SIERREUR(0;0;"") par SIERREUR(...;...;0) et le SI avec un 0 également, qui va permettre selon moi d'échapper à ton soucis, car là pour le coup tu renvoies bien un nombre.

Avec un format personnalisé en 00##" "#" "##" "##" "##" "## c'est parfait.

Une fois de plus, merci Ausecour !

De rien, merci pour ton retour

J'ai rajouté quelque chose dans la partie EDIT, si ça t'intéresse

Rechercher des sujets similaires à "fonction sierreur retourne valeur"