Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Ayant fait une note de calcul pour calucler la section des conducteurs de protection,j'ai utilisé la fonction SI pour comparer le résultat et en afficher une section correspondante
Depuis hier, je me heurte à un refus de Excel si je rentre plus de 7 condtions SI les unes a la suite des autres.
Voila la formule que je devrais taper et qui est refusée par Excel
Pour précisions les sections normalisées sont indiquées juste après la fonction SI(25; 35; 50; 70; 95; 120; 150; 185; 240; 300; 400) hélas je suis bloqué à 150 😡
Bonjour Bepaturej 🙂,
Pourrais tu poster un fichier (sans données confidentielles), ce serait plus explicite ?
A vu de nez, le plus simple serait de faire un petit tableau des correspondances et utiliser un RECHERVEV ou RECHERCHEH pour déterminer la valeur à utiliser dans le calcul.
Une autre solution est de créer une fonction VBA en utilisant Select Case et en listant tes sections.
Bon courage et joyeuses fêtes 😎
Banzai, ayant aussi regardé une solution avec la fonction RECHERCHEV, j'en ai déduit qu'elle correspondait plus à est un comparateur ">=", qu'un comparateur ">", d'où la solution proposée, et tirée d' Eric S.
JeanMarie, en pièce jointe un morceau de mon fichier zippé
La formule qui me pose problème est dans la cellule C19, les sections correspondantes sont dans l'onglet "Données tableaux" cellules J11 à T11
2 question ainsi que cela est marqué en commentaire quand tu te positionne sur la cellule C19 du premier onglet cette section varie en fonction de la nature de la canalisation (Cu ou Al) mais aussi en fonction du type de canalisation PVC ou PR-EPR
si tu peux me donner la soluce pour intégrer ces conditions supplémentaires dans ma formule.
Ci joint un exemple avec equiv.
J'ai rajouté une petite table pour la recherche.
JHA
Je crois que j'ai oublié de rafraichir la formule en C19 suite à mes divers essais, ci-joint la formule allégée.
=SI(G8*1000*RACINE(C7)/SI(C20="Cu";115;76)>120;ARRONDI.SUP(G8*1000*RACINE(C7)/SI(C20="Cu";115;76);0);SI(C21="PVC";RECHERCHEV(EQUIV(G8*1000*RACINE(C7)/SI(C20="Cu";115;76);{120;95;70;50;35;25};-1);D23:E28;2);RECHERCHEV(EQUIV(G8*1000*RACINE(C7)/SI(C20="Cu";143;94);{120;95;70;50;35;25};-1);D23:E28;2)))
Dans mon premier post, j'utilisais un tableau des sections normalisées sous forme verticale. Dans ton fichier elle est sous forme horizontale.
Ce qui implique de modifier les paramètres de la fonction INDEX.
INDEX(Plage;coordonnée_Verticale;coordonnée_horizontale), cette fonction retourne la valeur qui se trouve à l'intersection des deux coordonnées.
La fonction SOMMEPROD travaille aussi avec des plages verticales. Sans changer tes tableaux. il faut transformer la plage des sections normalisées, pour cela j'ai utilisé la fonction TRANSPOSE (qui a la même fonctionnalité que le collage spécial transposé).
Dans cette formule, la fonction TRANSPOSE oblige la validation de la formule par les touches Ctrl+Shift+Entrer
Pour ta deuxième question, si je l'ai bien compris
SI(C20="Cu";SI(C21="PVC";...;...);SI(C21="PVC";...;...))
Edit :
J'ai changé le type du comparateur, cela évite la soustraction et la constante dans la formule
Edit2 :
On peut aussi écrire la formule sous cette forme
je me suis permis de modifier les deux propositions comme suit pour prendre en compte tes exigences.
soit:
=SI(G8*1000*RACINE(C7)/SI(C21="PVC";SI(C20="Cu";115;76);SI(C20="Cu";143;94))>120;ARRONDI.SUP(G8*1000*RACINE(C7)/SI(C21="PVC";SI(C20="Cu";115;76);SI(C20="Cu";143;94));0);SI(C21="PVC";RECHERCHEV(EQUIV(G8*1000*RACINE(C7)/SI(C20="Cu";115;76);{120;95;70;50;35;25};-1);D23:E28;2);RECHERCHEV(EQUIV(G8*1000*RACINE(C7)/SI(C20="Cu";143;94);{120;95;70;50;35;25};-1);D23:E28;2)))
Quand >120, arrondi sup de la valeur calculée.
ou avec la proposition de Jean-Marie que je salue au passage:
=INDEX('Données tableaux'!K11:U11;1;SI(C21="PVC";SOMMEPROD((TRANSPOSE('Données tableaux'!J11:T11)<=(G8*1000*RACINE(C7)/SI(C20="Cu";115;76)))*1);SOMMEPROD((TRANSPOSE('Données tableaux'!J11:T11)<=(G8*1000*RACINE(C7)/SI(C20="Cu";143;94)))*1))).
Attention, si j'ai bien compris la formule de J-Marie, quand >120, la formule prend soit: 150;185;240;300;400 comme indiqué dans le tableau.
Pas eu le temps de consulter le deuxieme message JeanMarie j'ai obpté pour celui de JHA. Qui fonctionne a merveille j'ai bien entendu déroulé les valeurs dans mon tableau de données en vertical.
je vais essayé sur vos conseils de remettre mes valeurs de données en horizontal.
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD