Erreur formule excel

Fermé
Biguf Messages postés 9 Date d'inscription mardi 3 avril 2012 Statut Membre Dernière intervention 20 avril 2012 - 19 avril 2012 à 17:08
Raymond PENTIER Messages postés 58764 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 19 décembre 2024 - 20 avril 2012 à 23:43
Bonjour tout le monde!

Par cette journée pluvieuse je réclame votre aide pour un problème que j'ai sur une formule sous Excel 2003.

Je cherche à faire apparaître la provenance de l'information contenue dans la cellule.

Voici la coupable :

=si(AOR_Réception!E4=0;si(DET!E4=0;si(VISA_EXE!E4=0;si(Préparation_de_chantier!E4=0;si(ACT!E4=0;si(PRODCE!E4=0;si(APD!E4=0;si(APS!E4=0;si(Esquisse!E4=0;"";Esquisse!E4" (Esquisse)");APS!E4" (APS));APD!E4" (APD)");PRODCE!E4" (PRO DCE)");ACT!E4" (ACT)");Préparation_de_chantier!E4" (Préparation de chantier)");VISA_EXE!E4" (VISA EXE");DET!E4" (DET)");AOR_Réception!E4" (AOR)")

Pour plus d'informations n'hésitez pas.

Salut et bonne journée!

7 réponses

Mike-31 Messages postés 18351 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 12 décembre 2024 5 110
19 avril 2012 à 17:30
Salut,

tu peux mettre à notre disposition un bout de ton fichier que nous n'ayons pas à l'écrire, que tu peux joindre avec ce lien

https://www.cjoint.com/
0
Salut,

En voici un bout.

http://cjoint.com/?0Duj4OrG1yC
0
Mike-31 Messages postés 18351 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 12 décembre 2024 5 110
20 avril 2012 à 14:12
Re,

Ta formule est incoérente et ne peut fonctionner. Explique ce que tu veux faire pour chaque ligne à moins que toutes les lignes soient liées

=si(AOR_Réception!E4=0;
si(DET!E4=0;
si(VISA_EXE!E4=0;
si(Préparation_de_chantier!E4=0;
si(ACT!E4=0;
si(PRODCE!E4=0;
si(APD!E4=0;
si(APS!E4=0;
si(Esquisse!E4=0;"";

Esquisse!E4" (Esquisse)");
APS!E4" (APS));APD!E4" (APD)");
PRODCE!E4" (PRO DCE)");
ACT!E4" (ACT)");
Préparation_de_chantier!E4" (Préparation de chantier)");
VISA_EXE!E4" (VISA EXE");
DET!E4" (DET)");
AOR_Réception!E4" (AOR)")
0
Biguf Messages postés 9 Date d'inscription mardi 3 avril 2012 Statut Membre Dernière intervention 20 avril 2012
20 avril 2012 à 14:53
Re également,

Je vais essayé de t'expliquer le plus clairement possible se que je cherche à faire.

Je veux que si on rempli la cellule E4 dans l'une des feuilles "Esquisse", "APS", "APD", etc... Ces informations viennent directement dans la cellule E4 de la feuille "General". Au cas par cas cela reviendrait à dire "Esquisse!E4=General!E4","APS!E4=General!E4",etc.

En plus de cela je voudrais que l'on puisse lire dans la cellule General!E4 de quelle feuille l'information provient.

La dernière chose que j'ai essayé de mettre en place avec les SI c'est un ordre de priorité entre les différentes feuilles "Esquisse" "APS" "APD",etc... Ce qui veut dire que si il y a une information dans APS!E4 et dans Esquisse!E4, on affiche dans General!E4 l'information provenant de APS!E4.

Donc si je veux t'expliquer ligne par ligne :

=si(AOR_Réception!E4=0; Si rien est écrit dans AOR_Réception!E4, alors on prends l'information provenant de DET!E4, si celle-la aussi est vide alors on prends l'info de VISA_EXE!E4, et ainsi de suite...
.
.
.
.
.
si(APS!E4=0;
si(Esquisse!E4=0;"";

Esquisse!E4" (Esquisse)"); Si on en arrive à prendre l'information provenant de Esquisse!E4, alors je veux que l'on voit dans General!E4 la valeur de Esquisse!E4, et en plus le nom de la feuille dont l'information provient, c'est-à-dire dans ce cas "Esquisse".
.
.
.
.
DET!E4" (DET)");
AOR_Réception!E4" (AOR)")

Voilà j'espère que je ne t'aurais pas perdu avec tout sa ^^

Salut et bon Week-end!
0
Raymond PENTIER Messages postés 58764 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 19 décembre 2024 17 257
20 avril 2012 à 15:32
Ta formule est effectivement incohérente, comme le dit Mike-31, et j'ajouterai fantaisiste, car tu y inséres des mots entre parenthèses qui sont de purs parasites et qui bloquent ta formule.
De plus, tu as plus de 7 conditions SI, ce qui excède les possibilités d'excel 2003 ; il te faudrait passer à excel 2007 ou 2010 pour t'affranchir de cette limitation.
0

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

Posez votre question
Mike-31 Messages postés 18351 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 12 décembre 2024 5 110
20 avril 2012 à 15:50
Re,

qu'il y ait plus de 7 conditionnelles n'est pas un problème même avec Excel 2003 avec une imbrication en cascade il est possible d'aller jusqu'à 40 conditionnelles qu'il vaut mieux remplacer par une base de donnée et une recherche. dans la soirée j'aurais plus de temps je ferais un topo
0
Biguf Messages postés 9 Date d'inscription mardi 3 avril 2012 Statut Membre Dernière intervention 20 avril 2012
20 avril 2012 à 16:28
Ok super, Merci beaucoup!
0
Raymond PENTIER Messages postés 58764 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 19 décembre 2024 17 257
20 avril 2012 à 16:30
Salut.

Je te propose, en attendant que tu changes de version de tableur, de faire l'impasse sur le dernier test (pour rester dans les 7 imbrications de SI) et de construire la formule selon la logique classique (et non la logique inverse que tu avais choisie). Cela donnera
=SI(AOR_Réception!E4<>0;AOR_Réception!E4; SI(DET!E4<>0;DET!E4; SI(VISA_EXE!E4<>0;VISA_EXE!E4; SI(Préparation_de_chantier!E4<>0; Préparation_de_chantier!E4; SI(ACT!E4<>0;ACT!E4; SI(PRODCE!E4<>0;PRODCE!E4; SI(APD!E4<>0;APD!E4;Esquisse!E4)))))))

Nota : pourquoi ne pas remplacer le nom de feuille "Préparation_de_chantier" par simplement "Prép_chantier" et "AOR_Réception" par "AOR_Réc" ? On aurait
=SI(AOR_Réc!E4<>0;AOR_Réc!E4; SI(DET!E4<>0;DET!E4; SI(VISA_EXE!E4<>0;VISA_EXE!E4; SI(Prép_chantier!E4<>0; Prép_chantier!E4; SI(ACT!E4<>0;ACT!E4; SI(PRODCE!E4<>0;PRODCE!E4; SI(APD!E4<>0;APD!E4;Esquisse!E4)))))))
0
Mike-31 Messages postés 18351 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 12 décembre 2024 5 110
20 avril 2012 à 22:43
Re,

Récupère ton fichier et teste la cellule E4 de la feuille Général et saisissant des valeurs en E4 dans les autres feuilles. la formule teste les 9 imbrications mais il est possible d'en tester beaucoup plus. Si c'est ce que tu cherches je te dirai comment faire.
Tu aurais intérêt de raccourcir les noms de tes onglets comme le préconise notre ami Raymond que je salue

https://www.cjoint.com/?BDuwQonGAdg
0
Raymond PENTIER Messages postés 58764 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 19 décembre 2024 17 257
20 avril 2012 à 23:43
Très astucieuse et efficace façon de contourner la limite des 7 imbrications.
Et c'est aussi l'occasion pour l'utilisateur de se familiariser avec les formules nommées ...

Très amicalement.
0