Salut
Je suivrais le raisonnement suivant si je devais faire un tel mécanisme
Une colonne en plus cachée en colonne L par exemple.
Dans cette colonne il faut regarder si la ligne @ est de type "N1", "N2" ou autre
- si type N1, elle prend la valeur de la colonne K (choix client) cellule K@
- Si type N2, il faut retrouver la ligne immédiatement supérieure de type "N1" et regarder sa valeur en colonne L
- Si valeur à 1, on retourne le choix client de la ligne @
- Si valeur à 0, on retourne 0
- Si type autre, il faut retrouver la ligne immédiatement supérieure de type "C103" (N1 ou N2) et regarder sa valeur en colonne L
- Si valeur à 1, on retourne le choix client de la ligne @
- Si valeur à 0, on retourne 0
Dans ton exemple, ça donnerait ça,
- pour la ligne 6, en L6 :
- type "N1"? -> Oui -> On retourne le choix client L6=K6=0
- pour la ligne 7, en L7:
- type N1? -> Non
- type N2? -> Oui
- On regarde la ligne de type "N1" immédiatement supérieur -> Ligne6: L6=0 donc L7=L6=0
- pour la ligne 8, en L8:
- typeN1 -> Non
- type N2? -> Non
- On regarde la ligne de type C103 (N1 ou N2) supérieure ->ligne 7, valeur L7=0 -> L8=L7=0
C'est peut-être faisable avec un formule mais ça risque de ne pas être simple.
[Edit]
J'ai revu un peu ma démarche qui comportait des erreurs de raisonnement. Et la formule n'est pas si difficile à trouver (du moins si elle fait bien ce que tu veux ^^).
Essai avec cette formule en L6:
=SI($B6="N1";$K6;SI($B6=" N2";INDIRECT("L"&(MAX(($B5:$B$6="N1")*LIGNE($B5:$B$6))));INDIRECT("L"&(MAX(($A5:$A$6="C103")*LIGNE($A5:$A$6)))))*$K6)
C'est une formule matricielle, il te faudra valider son contenu par Ctrl+Maj+Entrée
Il te suffit ensuite de l'étendre sur l'ensemble de la colonne L.
Si tu as besoin d'explication sur la formule n'hésite pas à poser des questions. (Je ne suis pas sûr de repasser régulièrement mais je fait confiance à d'autre pour te l'expliquer si besoin... et peut-être même la simplifier, qui sait
)
Pour une meilleur lisibilité, tu peux ensuite mettre une MFC dans la colonne K qui passe le texte en couleur blanche quand la cellule L de la ligne est à 0 (je n'ai pas testé)
[/Edit]
Je te souhaite une bonne soirée
++
Qwaz
Partager