EXCEL : Enlever #Valeur!

[Résolu/Fermé]
Signaler
Messages postés
34
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
7 décembre 2020
-
 Akhii -
Bonjour tout le monde,

Comment enlever l'erreur "#Valeur!" tout en laissant la formule dans la cellule?
Voici la formule :

=SI(ET(C5>D5);((A3*A4)-(12,5));SI(ET(D5>C5);((C4*C3)-(12,5));SI(ET(C5=D5);((B4*B3)-(12,5));"")))

Merci, et bonne semaine :)
A voir également:

5 réponses

Messages postés
17419
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
29 juillet 2021
4 672
Salut,

Ta formule peut être écoutée comme ceci

=SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;"")))

ensuite le message d'erreur "#Valeur!" est certainement causé par une saisie texte ou espace dans tes cellules de calcul. Alors soit tu peux éviter ce genre de saisie soit tu géres l'erreur comme ceci

=SI(ESTERREUR(SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;""))));"";SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;""))))

Ou en plus court en testant l'addition de tes cellules

=SI(ESTERREUR(A3+A4+B3+B4+C3+C4+C5+D5);"";SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;""))))
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
54323
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 août 2021
16 310
... et compte-tenu que (A3*A4)-12,5 est équivalent à A3*A4-12,5 la formule finale peut encore s'affiner en :
=SI(ESTERREUR(A3+A4+B3+B4+C3+C4+C5+D5);"";SI(C5>D5;A3*A4-12,5;SI(D5>C5;C4*C3-12,5;SI(C5=D5;B4*B3-12,5;""))))
que je me risquerais même à simplifier encore :
=SI(ESTERREUR(A3+A4+B3+B4+C3+C4+C5+D5);"";SI(C5>D5;A3*A4;SI(D5>C5;C4*C3;SI(C5=D5;B4*B3;"")))-12,5)
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 476
Bonsoir Xti-Basque, Mike, Raymond,

Puisque l'on en est aux simplifications de la formule sans avoir d'erreur,il est possible de réduire ainsi :

=SI(ESTERREUR(A3+A4+B3+B4+C3+C4);"";SI(C5>D5;A3*A4;SI(C5=D5;B4*B3;C4*C3))-12,5)

ou en 2007/2010
=SIERREUR((SI(C5>D5;A3*A4;SI(C5=D5;B4*B3;C4*C3))-12,5);"")
Messages postés
54323
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 août 2021
16 310
Absolument ! Et là, je crois que tu as atteint les limites ...

Cet exercice devrait être profitable à tous ceux qui ont de gros et lourds fichiers avec des multitudes de formules compliquées, qui ralentissent les calculs et augmentent la place occupée en mémoire.
Messages postés
24147
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
2 août 2021
6 848
Bonjour tout le monde,

Désolé de modérer votre enthousiasme mais on ne peut pas dire que :
=SI(ESTERREUR(A3+A4+B3+B4+C3+C4+C5+D5);"";SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;""))))
soit équivalent à :
=SI(ESTERREUR(SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;""))));"";SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;""))))

Une chaine dans A3 par exemple n'empêche pas de faire B4*B3 ou C4*C3, dont l'affichage sera bloqué par le SI(ESTERREUR(A3+A4+B3+B4+C3+C4+C5+D5)...

eric
Merci, çà marche a merveille.
Messages postés
34
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
7 décembre 2020

Salut Mike,

Ta formule fonctionne parfaitement et je t'en remercie!

Bonne journée à tous :))
Messages postés
34
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
7 décembre 2020

J'ai une dernière question svp,

Comment faire pour que sur la formule, si C5 et D5 sont vides, alors rien ne s'affiche?

La formule :
=SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;"")))

Merci :))
Messages postés
17419
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
29 juillet 2021
4 672
Re,

tu peux tester les deux cellules

=SI(ET(C5<>"";D5<>"");SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;"")));"")
ou
=SI(ET(C5="";D5="");"";SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;""))))
ou tester une celule sur les deux

=SI(OU(C5="";D5="");"";SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;""))))

ou encore tester les deux cellules par une opération, mais si les deux cellules sont égale à zéro cela peut fausser la formule

=SI(C5+D5<>0;SI(C5>D5;(A3*A4)-12,5;SI(D5>C5;(C4*C3)-12,5;SI(C5=D5;(B4*B3)-12,5;"")));"")

ou avec si(estvide
Messages postés
34
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
7 décembre 2020

Excellent Mike, t'es un chef! La formule 2 fonctionne :))