Formule Excel : Colonne selon date du jour

Bonjour,

Il y a dans la feuille Doe John une mise en forme conditionnelle qui met une celle en rouge selon certaines conditions.
La formule actuelle est : =ET(F$11>0; NON(ESTVIDE(F14)); F$4 >= AUJOURDHUI())

Je dois ajouter deux conditions qui tiennent compte de la colonne de la date du jour (ligne 4) pour établir le range et je n'y arrive pas.

Voici les deux conditions :

1- Ne pas mettre en rouge s'il y a un "x" dans une colonne précédent la date du jour
NON(NB.SI($F14:$NG14;"x")) : Le “$NG” en rouge doit être la colonne de la journée avant AUJOURDHUI() .. (la colonne en mauve)
(le 50 de la cellule MH14 devrait être en blanc)

2- Mettre en rouge si la somme de la ligne 12 entre la date du jour et la colonne de la cellule est égale à "0"
SOMME($F$12:F$12) = 0 : Le “$F” en rouge doit être la colonne d'AUJOURDHUI() .. (la colonne en mauve)
(le 2 de la cellule MN15 devrait être en blanc puisque la somme de la ligne 12 entre la date du jour et la colonne MN est de 26)

Les dates sont sur la ligne 4.

Je joins un fichier pour illustrer.

Seriez-vous en mesure de m'aider ?

Merci,

Bonsoir,

une première réponse (une des réponses possibles...) en rapport avec le X avant la date du jour qui "éteint" la valeur pour la passer en blanc :
=ET(F$11>0; F14<>""; F$4 >= AUJOURDHUI();NB.SI(INDIRECT("L"&LIGNE()&"C6:L"&LIGNE()&"C"&EQUIV(AUJOURDHUI();$F$4:$NG$4;0)+5;FAUX);"x")=0)

Le "+5" indique aujourd'hui compris, c'est à dire que le "x" ne sera pas prix en compte à partir du lendemain de aujourd'hui, sinon mettre 4.

@ bientôt

LouReeD

WoW, merci énormément LouReeD !! Ça semble régler ma première condition et ça me donne une piste pour tenter de régler ma seconde condition. MERCI !!

José

Bonsoir,

merci de votre retour et remerciement !

Pour la deuxième condition je me suis posé la question de savoir sur combien de semaine il fallait remonter, vous dites entre "aujourd'hui' et la date concernée, mais s'il y a plus de trois mois ? c'est d'actualité ?

Et oui, en prenant le numéro de colonne d'aujourd'hui avec la formule EQUIV et éventuellement INDIRECT il vous sera possible de créer une plage et d'en connaitre la somme, mais je ne sais pas si SOMME est compatible avec INDIRECT...

Bon courage pour la suite de votre projet. Pour le point 2, mieux vaut peut-être à l'avenir ouvrir un nouveau fil et clôturer celui-ci afin que d'autre intervenant prennent en main votre question.

Ceci dit je n'ai fais qu'aller dans votre sens, mais peut-être faut il prendre le problème sous un autre angle... Ceci afin de simplifier "la chose"...

@ bientôt

LouReeD

Merci, j'y suis presque !

j'ai actuellement ça qui fonctionne :

=ET(F$11>0; F14<>""; F$4 >= AUJOURDHUI();NB.SI(INDIRECT("L"&LIGNE()&"C6:L"&LIGNE()&"C"&EQUIV(AUJOURDHUI();$F$4:$NG$4;0)+4;FAUX);"x")=0; SOMME(INDIRECT("L12C"&EQUIV(AUJOURDHUI();$F$4:$NG$4;0)+5&":L12C355";FAUX)) = 0)

Mais le 355 est supposé être variable selon la cellule concernée mais ça ne fonctionne pas quand je remplace le 355 par &COLONNE() .. ":L12C"&COLONNE()

Je continue une peu à cherche et je referai une nouvelle conversation en fermant celle-ci si je ne trouve pas bientôt, comme vous le suggérez.

Merci !

José

Attention !

Avec INDIRECT la transposition de la formule ne marche pas ! Donc une formule avec Ligne 12 "L12" restera en ligne 12 pour les tests, s'il faut que cela suive les lignes du tableau il faut mettre "L" & Ligne(). Comme je l'ai fait pour la première solution.

Si le 355 correspond à la colonne de la cellule où la MFC doit réagir alors il faut le "sortir" de la chaine de caractère d'INDIRECT :
SOMME(INDIRECT("L" & LIGNE() & "C" & EQUIV(AUJOURDHUI();$F$4:$NG$4;0)+5 & ":L" & LIGNE() & "C" & COLONNE();FAUX))

A voir...

@ bientôt

LouReeD

Oui, c’est bien toujours la ligne 12 qu’il faut prendre pour le calcul, avec comme colonne un range entre aujourdhui() et une date dans le futur. Mystérieusement, le COLONNE() ne passe pas (pas d’erreur mais ça ne fonctionne pas):
=ET(F$11>0; F14<>""; F$4 >= AUJOURDHUI();NB.SI(INDIRECT("L"&LIGNE()&"C6:L"&LIGNE()&"C"&EQUIV(AUJOURDHUI();$F$4:$NG$4;0)+4;FAUX);"x")=0; SOMME(INDIRECT("L12C"&EQUIV(AUJOURDHUI();$F$4:$NG$4;0)+5&":L12C"&COLONNE();FAUX)) = 0)

D’un autre côté, je crois avoir trouvé le moyen de contourner ce problème en modifiant une autre formule ailleurs, faisant en sorte que je n’ai plus besoin de ce bout-là et ça me permet de simplifier mon approche, comme vous me l’avez suggéré plus tôt. Il me reste simplement à tester pour m’assurer que ça se tient :)

Je vais mettre cette conversation à résolue et au besoin, j’en partirai une autre.

Merci beaucoup pour vos précieux trucs et conseils.

Au plaisir,

José

Rechercher des sujets similaires à "formule colonne date jour"