Si.conditions + si(nb.si combinés ????

Bonjour à tous,

Dans le cadre de planification de maintenance, j'ai un tableau à remplir dans lequel je mets des "a" (= à planifier). Selon la case ou se trouve le "a", cela me mets un "P" (Petite maintenance), un "G" (Grande maintenance"), un "0" (Aucune maintenance prévue), grâce à la formule ci-dessous :

=SI.CONDITIONS(NBVAL(D3:D5)>0;"G";NBVAL(D6:D18)>0;"P";NBVAL(D3:D18)=0;"0")

Le problème que je rencontre, c'est que j'automatise le planning : lorsque je valide le planning 2021, cela va mettre un "a" dans le planning 2022 onze mois après. Mais c'est une formule dans la case qui permet cela, ce qui fout en l'air mon =SI.CONDITIONS car toutes les cases sont remplies par la formule.

Le seul moyen que j'ai trouvé pour m'en sortir, est de remplacer le NBVAL par un SI(NB.SI mais j'ai des messages d'erreur quand je compile ça en SI.CONDITIONS sous cette forme :

=SI.CONDITIONS(SI(NB.SI(D3:D5)="a";"G";"");SI(NB.SI(D6:D18)="a";"P";""))

Pouvez-vous m'aider? En gros dans la ligne 19 (si je ne dis pas de bêtises), je dois avoir 2 occurrences selon ce qui est rempli : P, G, 0 (ou vide).

Voici le fichier

Je pense avoir trouvé par moi-même, je fais du case par case et ça fonctionne. Par contre j'ai un #N/A qui apparait, SAUF si je rajoute à la fin un E3="";"".... Le simple fait de dire que laisser cette seule case vide si elle est vide évite le #N/A pour l'ensemble de la formule, je ne saurais dire pourquoi.

Même si ma formule fonctionne, je suis preneur de solutions en SI.CONDITIONS si vous connaissez.

Voici ma formule :

=SI.CONDITIONS(E3="a";"G";E4="a";"G";E5="a";"G";E6="a";"P";E7="a";"P";E8="a";"P";E9="a";"P";E10="a";"P";E11="a";"P";E12="a";"P";E13="a";"P";E14="a";"P";E15="a";"P";E16="a";"P";E17="a";"P";E18="a";"P";E3="";"")

bonjour

donc ton SI.condition marche avec des priorités

priorité n°1 : C3:C5 non vide =g

priorité n°2 : C6:C18 non vide =P

priorité n°3 C6:C18 vide =0

si il y a des valeurs en c3:c5 et en c6 :c18; normalement ça renvoie G ????

Le problème avec le SI(ESTVIDE c'est que je ne peux pas faire de plage, sinon la formule va s'étendre sur la plage complète, je voudrais que ça reste dans une case. Du coup autant faire celle avec E3=a;"G", elle est plus courte.

Avec ma formule actuelle oui ça renvoie bien un G. Comme je fais passer la condition "G" en premier, ça prend toujours le dessus. Je sais pas si c'est prévu pour mais ça fonctionne comme ça, c'est juste très chiant car j'ai je dois tirer la formule et comme les lignes ne se suivent pas (une formule est pour plein de lignes), je dois tout retaper à la main et c'est excessivement long.

Edit avec une capture d'écran qui montre la formule qui est dans une case mais s'étend :

si est vide

Bonjour Gniouli, le forum

Votre première idée était bonne, il manquait des éléments de comparaisons aux conditions, essayez la formule ci-dessous

=SI(NB.SI(E3:E5;"a")>0;"G";SI(NB.SI(E6:E18;"a")>0;"P";""))

bonjour

un essai

=CHOISIR(EQUIV((SI(NBVAL(C3:C5)>0;2;"")&SI(NBVAL(C6:C18)>0;"10";0)&SI(NBVAL(C6:C18)=0;0;""))*1;{0;10;200;2100};1);0;"P";"G")

Bonjour et merci pour vos rapides retours.

Njhub merci pour la correction, je prends ta formule qui ressemble à ma première idée mais bien faite cette fois-ci !

Tulipe, merci pour ta formule je l'intègre également pour la comprendre car je ne connaissais pas =CHOISIR

Sujet résolu !

Rechercher des sujets similaires à "conditions combines"