Retirer anotation par défaut #REF!

Résolu/Fermé
nevard Messages postés 14 Date d'inscription mardi 7 août 2012 Statut Membre Dernière intervention 14 mars 2014 - 13 mars 2014 à 15:57
nevard Messages postés 14 Date d'inscription mardi 7 août 2012 Statut Membre Dernière intervention 14 mars 2014 - 14 mars 2014 à 13:48
Bonjour,

Voici la formule que j'utilise pour calculer le prix à payer selon un quotient :
=SI(AG15>=10;RECHERCHEV(AH15;$AN$9:$AO$11;2;FAUX);RECHERCHEV(AI15;$AN$9:$AO$11;3;FAUX)). Cette formule marche très bien sauf un détail contraignant : quand le résultat est FAUX, il m'indique soit #REF! soit #N/A. Du coup l'adition des résultats est impossible à moins de supprimer 1 à 1 le contenu des cases.
J'aimerai donc savoir comment faire pour qu'à la place de ces erreurs il n'y ai rien ou un 0 pour permettre l'addition.

Merci d'avance et pardon si je fais doublon avec un autre topic.

8 réponses

nevard Messages postés 14 Date d'inscription mardi 7 août 2012 Statut Membre Dernière intervention 14 mars 2014 1
14 mars 2014 à 10:21
Un grand merci sipherion.
Par contre quand tu dis que c'est du bricolage, cela veut dire que mes formules de base ne sont pas bonnes ? Ai-je oublié des choses pour éviter le bricolage ?
1
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
14 mars 2014 à 10:24
Non non, je parlais de mon code à moi ^^ Je pense qu'il existe mieux comme code, mais en tout cas ça ça marche =)
0
nevard Messages postés 14 Date d'inscription mardi 7 août 2012 Statut Membre Dernière intervention 14 mars 2014 1
14 mars 2014 à 10:28
D'accord, en tout cas merci, ça me simplifie la vie !
0
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
13 mars 2014 à 16:01
=SI(ESTERREUR(SI(AG15>=10;RECHERCHEV(AH15;$AN$9:$AO$11;2;FAUX);RECHERCHEV(AI15;$AN$9:$AO$11;3;FAUX)));0;SI(AG15>=10;RECHERCHEV(AH15;$AN$9:$AO$11;2;FAUX);RECHERCHEV(AI15;$AN$9:$AO$11;3;FAUX))).
0
nevard Messages postés 14 Date d'inscription mardi 7 août 2012 Statut Membre Dernière intervention 14 mars 2014 1
13 mars 2014 à 16:44
non, ca ne marche pas. Peut-être que la formule de base n'est pas bonne. Je vais essayer d'être claire : selon le quotient des familles (1,2 ou 3) j'applique trois tarifs différents pour des tarifs à l'unité et au mois.
Si une famille fait moins de 10 journées, le tarif à l'unité s'applique selon le quotient (donc un tarif pour chaque quotient).
Si une famille fait 10 ou plus de 10 journées, le tarif au mois s'applique selon le quotient (donc encore trois tarifs)
mon tableur est composé d'une colonne "NB de matins" puis "Quotient" ensuite une colonne pour le prix du tarif à l'unité selon le quotient et à côté le tarif forfait selon le quotient.
En fonction du nombre de jour de fréquentation, le tarif s'applique automatiquement dans l'une ou l'autre case.
Ensuite survient le problème présenté plus haut : si j'ai du tarif à l'unité, la case mois m'indique #REF! ou #N/A et inversement, ce qui rend l'addition de toutes les familles impossible.

J'espère avoir été clair...

Encore merci
0
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
13 mars 2014 à 16:48
Ca me prendrait trop de temps de convertir tes explications sur mon Excel.

Peux tu m'envoyer ton document Excel ? N'oublies pas de supprimer toute donnée sensible, mais pas tout pour que je puisse quand même travailler dessus :-)

Tu peux utiliser cjoint.

A plus tard =)
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
13 mars 2014 à 17:30
Bonjour
Dans votre formule le #REF vient surement des RECHERCHEV ou vous recherchez la valeur dans la 3° colonne (;3;0) d'un champ de AN à AO et donc, qui n'en a que deux.
Excel n'aime pas et il vous le dit.
Le "N/A vient du fait que la valeur cherchée ne se trouve pas dans la colonne AN.
vous devriez écrire cette formule comme suit, ou au moins dans ce style:
=SI(NB.SI($AN$9:$AO$15;AH15);RECHERCHEV(;AH15;$AN$9;$AP$15;2;0);SI(....);"")
mais je ne peux pas l"écrire complétement compte tenu de la colonne 3 dans le champ à deux colonnes.
Il faudrait voir et le fichier et ce que vous voulez exactement pour aller plus loin.

crdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nevard Messages postés 14 Date d'inscription mardi 7 août 2012 Statut Membre Dernière intervention 14 mars 2014 1
14 mars 2014 à 09:31
Bonjour à tous,

Voici le lien du document
https://www.cjoint.com/?3CojEmGi0LY

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 14/03/2014 à 09:48
Bonjour
Si on repart de votre message intial on constate que en colonne AH de "Accueil du matin", vous cherchez la valeur de AF dans la tableau AL:AM si AF est plus grand que 10 (ce qui est le cas nulle part) et que sinon, vous cherchez la valeur de AG (1,5 en ligne 4) dans le même champ, mais la valeur de 1,5 n'existe pas dans la colonne AL, d'où le #N/A
il semble que vous devriez revoir les adresses dans vos formules, où expliquer en clair ce que vous voulez trouver

ou alors en essayant de deviner:

=SI(AE4>=10;RECHERCHEV(AF4;$AL$9:$AM$11;2;FAUX);RECHERCHEV(AF4;<gras>$AL$4:$AM$7;3;FAUX))</gras>

de façon à chercher dans le tableau haut si AF<10, dans le tableau bas, si AF >= 10

A vous lire

crdlmnt
Errare humanum est, perseverare diabolicum
0
nevard Messages postés 14 Date d'inscription mardi 7 août 2012 Statut Membre Dernière intervention 14 mars 2014 1
14 mars 2014 à 10:04
Tout d'abord, merci pour votre réponse rapide.

Je crains par contre de ne pas avoir tout saisie. La valeur 10 (qui est nulle part), est le seuil de basculement entre le forfait et le tarif à l'unité. Si vous entrez 10 ou plus dans une colonne jaune le résultat s'affiche directement dans la colonne forfait et le prix est ajusté selon le quotient familiale. Je que je souhaite, c'est retirer l'annotation #REF! qui apparaît alors dans la colonne Prix à l'unité.
Avec c'est annotation, il est impossible de faire le total en bas du tableau sans vider les cellules une par une.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 14/03/2014 à 10:15
Il n'y a aucun #REF dans votre fichier, rien que des #N/A?
vos formules ne font référence à aucune colonne jaune?

comme déjà dit précédemment dans un autre message, vous ne pouvez pas utiliser cette partie de la formule:
RECHERCHEV(AF89;$AL$4:$AM$6;3;FAUX)

Car elle demande d'aller chercher la valeur de AF89 dans la colonne AL et de ressortir la valeur de la 3° colonne du champ, alors AL:AM n'en a que deux.

Et sur le principe déjà évoqué dans mon message de ce matin, il semblerait plus juste d'écrire dans cette seconde partie de formule:
RECHERCHEV(AF89;$AL$9:$AM$11;2;FAUX)

voyez mon message précédent pour la colonne AH
... et en même temps, voyez s'il est bien utile de placer dans la colonne AJ la formule =AH+0
on ne voit pas très bien l'utilité du +0???

a plus sans doute, mais regardez bien vos références et les champs auxquels vous adressez vos formules
Pour l'instant, ce que vous voulez obtenir est quasi incompréhensible en fonction des formules que vous avez entrées

crdlmnt
0
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
14 mars 2014 à 10:04
Pour la colonne "Prix à l'unité" :

=SI(ESTERREUR(SI(AE4<10;RECHERCHEV(AF4;$AL$4:$AM$6;2;FAUX);RECHERCHEV(AF4;$AL$4:$AM$6;3;FAUX)));"";SI(AE4<10;RECHERCHEV(AF4;$AL$4:$AM$6;2;FAUX);RECHERCHEV(AF4;$AL$4:$AM$6;3;FAUX)))

Pour la colonne "Forfait mensuel" :

=SI(ESTERREUR(SI(AE4>=10;RECHERCHEV(AF4;$AL$9:$AM$11;2;FAUX);RECHERCHEV(AG4;$AL$9:$AM$11;3;FAUX)));"";SI(AE4>=10;RECHERCHEV(AF4;$AL$9:$AM$11;2;FAUX);RECHERCHEV(AG4;$AL$9:$AM$11;3;FAUX)))

Pour la colonne "Total Unité" :

=SI(ESTERREUR((AG4*AE4));"";(AG4*AE4))

Et pour la colonne "Total Forfait" :

=SI(ESTERREUR((AH4+0));"";(AH4+0))

Ces codes sont à placer sur la ligne 4 de chaque colonne respective, puis les tirer jusqu'en bas du tableau.

Bon, j'admets que c'est un peu du bricolage, mais au moins ça fonctionne. Si tu regardes comment j'ai fais, tu pourras l'appliquer à toutes tes formules et comme ça tu auras des cellules vides en cas d'erreur de formule.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
14 mars 2014 à 11:25
Bonjour, sipherion

... il semble que votre proposition ne tienne pas compte du fait déjà signalé deux fois que la formule:

RECHERCHEV(AF4;$AL$4:$AM$6;3;FAUX)

ne peut pas aller chercher la 3° colonne du champ AL:AM qui n'en a que deux.

Il est donc inutile de mettre une telle condition en ERREUR, c'en est forcément une.

crdlmnt
0
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
14 mars 2014 à 11:30
Oui, c'est ce que je me suis dit, tout comme je me suis dit aussi que le document n'était pas terminé, et qu'il y allait probablement avoir des données dans cette troisième colonne du tableau, mais plus tard :-)
Donc ta remarque est pertinente, mais Nevard cherchait la technique pour faire disparaitre ces erreurs pour que les calculs se fassent, rien de plus. Dès que son tableau sera complété, je suis sûr qu'il aura rajouté des données dans la troisième colonne.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
14 mars 2014 à 11:32
Allons sipherion! même s'il rajoute des données dans la 3° colonne, la formule ne fonctionnera pas
Pourquoi alors ne pas lui dire d'écrire simplement AL:AN ou AL AO mais pas AL:AM
0
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
14 mars 2014 à 11:36
Bon c'est bon Vaucluse maintenant, arrêtes de me prendre pour une truite, sa demande initiale est réglée, s'il sait utiliser la commande RECHERCHEV, il saura la corriger en cas de besoin !!!!!!! Et si non, il verra tes messages, et s'il n'y arrive toujours pas, il ouvrira une nouvelle question sur CCM. Ta réponse va en complément de la mienne, pas à la place car le problème reste entier dans les lignes où il ne précise pas de quotient.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
14 mars 2014 à 13:23
... que voulez vous, je reste fidèle à la devise sous ma signature;
Bonne pèche
0