Bonjour
C'est tout à fait possible, même si c'est un peu indigeste.
Cependant, cela n'a-t-il pas un rapport avec ta question précédente ?
Veux-tu cela par formule ou par code VBA ?
Philippe
Eh bien, je pense commencer par une indigestion de formule en entrée, et plus tard je continuerais avec une crise de VBA surement =)
Et en effet, cette question est en rapport avec ma précédente question, mais avec une approche différente pour combler les problèmes survenus après quelques tests![]()
Lecat.
Bonjour à tous
tu n'as que 3 niveaux d'imbrication donc avec une formule c'est possible, mais au vu de la structure, pratiquement illisible
si tu en as d'autres à faire, excel est bloqué à 7 niveaux d'imbrication pour les versions antérieures à 2007, pour 2007 je ne sais pas
personnellement, des que je dépasse 2 niveaux, je passe en VBA fonction personnalisée. cela devient plus facile à lire...
Bonjour,
et pour l'écriture .. l'aide en ligne t'aidera sur la fonction SI
=SI( condition ; Valeur si Vrai ; Valeur SiFaux) tu remet un si dans valeur si vrai ... ou si faux..
un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part =SI ( A1 = 1 ; Si (A3 = 2 ; 1;2); Si(A4=5; 2;3) )
Salut LECAT et le forum
Ton image est strictement illisible
On peut le faire par formules (la limite de 7 imbrication peu être contournée en employant plusieurs cellules, quand c'est nécessaire).
Sauf qu'il faudrait avoir une idée de ce que tu cherches. Ton dessin, même agrandi ne donne rien, et la structure qu'il montre me semble étrange : le deuxième test sur chaque branche ne sert à rien (aucun traitement).
A+
En effet, je donnais simplement une idée sans mettre les variables.
Je ne sais pas si ceci sera plus lisible, je l'explique:
Je test 5fois F, dés que la condition n'est pas rempli, je test 3variables(H,D,G) si celle-ci correspondent je revoie une valeur (0 à 5) dans I.
J'espère avoir été plus clair.
mais tu veux faire cela avec une formule excel ?
si oui lance toi avec ce que je t'ai donné plus haut..![]()
j'ai commencé à m'y lancer ^_^
Mais ce n'est pas vraiment une réussite :/=SI (F4>=0,00001 ; Si (F4>=0,0001 ; Si (F4>=0,001 ; Si (F4>=0,001 ; Si (F4>=0,01 ; Si (F4>=0,1 ; 1 ; "") ; Si((OU(EXACT(D4;'Réf Inflam'!$E$25:$E$28));G4>100;H4>100) ; 2 ; "")) ; Si((OU(EXACT(D4;'Réf Inflam'!$E$24));G4<=100;H4<=100) ; 3 ; "")) ; Si((OU(EXACT(D4;'Réf Inflam'!$E$19:$E$23));G4<=55;H4<=50));4; "")) ; Si((OU(EXACT(D4;'Réf Inflam'!$E$2:$E$18));G4<0;H4<=25));5;"") ; "")
C'est pour cela qu'il t'as été dit qu'une fonction personalisé et quand même plus lisible ..
tu peux aussi tenter une fonction choisir
dans cet exemple A1 contiendrait ta valeur de F
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 =CHOISIR(A1;SI(ET(F1>4;F1<6);"a";"b");2;3;4;5)
entre 1 et 2 elle choisit la premiere valeur
entre 2 et 3 elle prendra la seconde ect ect
dans l'exemple, j'ai mis une formule bidon en premiere position
donc pour resumer
si en A1 tu as un chiffre en 1 et 2, il choisit la premiere ocurence. il y trouve la formule et teste F1. si en F1 le chiffre est 5, il renvoie a sinon il renvoit b. je pense que ça correspond a ce que tu cherche
Salut LECAT et le forum
Toujours aussi peu convainquant :
si F = 2, H < 0 et G < ... I = 5 (c'est quoi comme nombre ... ?) ok
Si F = 2 H >0 => I=???
Donc, je ne vais donner que le début :
= si(F>5;I=1;si(F>4;si((H>100)*(G....);I=2;I=???);si(F>3;si((H<100)*(G...);I=3;I=??).....)))
Plus tu es moins précis, moins on est plus à même de t'aider!
Partager