Limites de la fomule conditionnelle

mayeul

XLDnaute Nouveau
Bonjour,

La formule conditionelle +IF(.......) me limite 7 conditions =>
=IF(LEN(O11)>0;6;IF(LEN(P11)>0;7;IF(LEN(Q11)>0;8;IF(LEN(R11)>0;9;IF(LEN(S11)>0;10;IF(LEN(T11)>0;11;IF(LEN(U11)>0;12;13)))))))

Existe-t-il un moyen de contourner cette limitation ?

Merci d'avanc epour votre aide

Mayeul
 

Brigitte

XLDnaute Barbatruc
Re : Limites de la fomule conditionnelle

Bonjour,

Peut être avec qqchse du type : choisir ? sans conviction dans ton cas.

Exemple :

=CHOISIR(EQUIV(A607;{"A";"B";"C";"D"};0);"Excellent"; "Bon";"Moyen";"Mauvais")

C'est quoi LEN ?

Autre piste : un petit tableau d'équivalences...
 

eriiic

XLDnaute Barbatruc
Re : Limites de la fomule conditionnelle

Bonsoir,

Je ne vois pas trop dans quel cadre utiliser cette formule mais :
=SI(NBVAL(O11:U11);5+EQUIV(VRAI;NBCAR(O11:U11)>0;0);13)
(formule matricielle à valider avec shift+ctrl+entrée)
te retourne le résultat et tu peux étendre la plage O11:U11

eric
 

hoerwind

XLDnaute Barbatruc
Re : Limites de la fomule conditionnelle

Bonjour, salut Brigitte,

Je crains que pour l'exemple donné la fonction CHOISIR ne convient pas.

J'opterai plutôt pour une approche dans le genre, pour autant que j'ai compris la question :
=SI(NB.VIDE(O11:U11)=7;13;7-NB.VIDE(O11:U11))

Si ce n'est pas cela, quelques exemples avec les résultats à obtenir sera probablment plus explicite.
 

Brigitte

XLDnaute Barbatruc
Re : Limites de la fomule conditionnelle

Re,

Et bien CHOISIR permet de dire que pour tel élément, tel autre correspond et ainsi tu peux faire une grande liste, sans si... mais en effet, dans ton cas, si il faut regarder plusieurs cellules, c'est probablement impossible. Pour ca que je te demandais la signification de LEN.

Bonne soirée

Bravo Eriiiiiiiiic pour la formule, salut hoerwind et bravo à toi aussi. Vous êtes fous !!!
 

Tibo

XLDnaute Barbatruc
Re : Limites de la fomule conditionnelle

Bonjour mayeul, salut Brigitte (et bisous),

Brigitte, LEN correspond à NBCAR in French

Sinon pour en revenir à la formule de notre ami, le principe consiste en fait à déterminer le rang de la 1ère cellule qui contient quelque chose (dont le nombre de caractères est supérieur à 0, qu'on peut traduire en langage Excel par Cellule<>"").

Je propose une formule matricielle (pas trouvé en formule simple) qui permet d'éviter l'imbrication des SI.

La formule :

Code:
=SI(NBVAL(O11:U11)=0;13;EQUIV(MIN((O11:U11="")*COLONNE(O11:U11));
(O11:U11="")*COLONNE(O11:U11);0)+5)

Formule matricielle, donc validation par CTRL + MAJ + ENTREE

Si pas ça, reviens avec plus de précisions.

@+

Edit : Oups ! J'ai un peu tardé à poster. Je vois que Eric est parti sur une analyse assez simlilaire.

Attendons le retour de notre ami

@+
 

JeanMarie

XLDnaute Barbatruc
Re : Limites de la fomule conditionnelle

Bonsoir tout le monde

En formule strandard, cela pourrait ressembler à cela :
Code:
=si(Nbval(O11:V11)=0;"";EQUIV("?";O11:V11;0)+5)
PS : la solution d'hoerwind, n'est pas forcément juste si dans la plage à tester se trouve deux valeurs.

@+Jean-Marie
 
Dernière édition:

nolich

XLDnaute Occasionnel
Re : Limites de la fomule conditionnelle

Bonjour mayeul, Brigitte, eriiiic, hoerwind et Tibo,
Bonjour à toutes et à tous :)

Envoyé par mayeul
La formule conditionelle +IF(.......) me limite 7 conditions =>
=IF(LEN(O11)>0;6;IF(LEN(P11)>0;7;IF(LEN(Q11)>0;8;IF(LEN(R11)>0;9;IF(LEN(S11)>0;10;IF(LEN(T11)>0;11;IF(LEN(U11)>0;12;13)))))))

Existe-t-il un moyen de contourner cette limitation ?

Je n'ai vu nul part la valeur 0 :confused:

Par ailleurs, comme tu as dis vouloir contourner la limitation d'XL pour l'imbrication des IF, j'ai eu en tête une formule pour laquelle je suis allé jusqu'à 20 ; en incrémentant d'une colonne à chaque fois, ça doit aller jusqu'à la colonne AC, je pense.

=MAX(IF(LEN(O11:AC11)>0;COLUMN(O11:AC11)-9))

à vérifier car je n'ai aucun moyen de le faire pour l'instant :rolleyes:

@+

EDIT : Salut Jean-Marie :)

Re EDIT Au lieu de MAX, on peut utiliser MIN suivant ce qu'on désire comme résultat. + Formule matricielle à valider par Ctrl+Maj+Entrée
 
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : Limites de la fomule conditionnelle

re,

Bonjour Jean-Marie,

Heureux de te croiser ici et surtout pour te remercier de me faire découvrir qu'il y a moyen de déterminer le rang de la première cellule d'une plage contenant quelque chose, sans passer par une matricielle.

Petit détail : ça ne fonctionne pas si la première cellule contient un nombre. As-tu une idée ?

@+
 

JeanMarie

XLDnaute Barbatruc
Re : Limites de la fomule conditionnelle

Re...

Tibo, je n'avais pas essayé avec des chiffres, merci de me l'avoir signalé.

Je ne sais pas pourquoi, pour l'instant je n'ai pas de remède.

La traduction en anglais
Code:
=IF(COUNTA(O11:AC11)=0,"",MATCH("*";O11:AC11,0)+5)
@+Jean-Marie
 

Tibo

XLDnaute Barbatruc
Re : Limites de la fomule conditionnelle

Bonjour,

En reprenant la formule de Jean-Marie, légèrement modifiée et avec un retour à une matricielle :

Code:
=SI(NBVAL(O11:V11)=0;13;EQUIV("?";O11:V11[COLOR=blue]&""[/COLOR];0)+5)

Matricielle donc validation par CTRL + MAJ + ENTREE

Permet ainsi de fonctionner, que la 1ère valeur soit une lettre ou un chiffre.

Le tout accompagné d'un nouveau merci à Jean-Marie pour cette formule si "simple".

@+
 

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz