Erreur règles - Mise en forme conditionnelle

Bonjour à tous,

Je rencontre un souci avec mes règles de mise en forme conditionnelle pour une colonne. J'ai utilisé ces mêmes règles pour une autre colonne et tout roule, je ne comprends donc pas ce qui ne fonctionne pas.
J'ai utilisé 3 fois la règle " Appliquer une mise en forme uniquement aux cellules qui contiennent" pour la colonne O.

Voici mes 3 règles :

Valeur de la cellule supérieur à =AUJOURDHUI()+182 (si c'est le cas, la cellule doit passer en rouge)

Valeur de la cellule comprise entre =AUJOURDHUI()+91 ET =AUJOURDHUI()+182 (si c'est le cas, la cellule doit passer en orange)

Valeur de la cellule inférieur à =AUJOURDHUI()+91 (si c'est le cas, la cellule doit passer en vert)

regles colonneo

J'ai bien appliqué ces 3 règles à l'ensemble de ma colonne O et j'ai fais un test en indiquant des dates. J'ai 2 problèmes :

- Dès que j'ai validé mes règles, j'ai ma colonne O qui s'est remplie en vert et je n'ai aucun moyen d'enlever le remplissage.

- Peu importe les dates que je rentre, les règles ne fonctionnent pas. Aucune de mes cellules ne se remplissent d'une couleur.

colonne o avec les regles

J'espère avoir été assez claire, merci d'avance pour votre aide.

Bonjour,

Il faut revoir les priorités de vos conditions, monter la rouge en haut, et descendre la verte en bas. Ensuite cliquez sur interrompre si vrai pour la rouge et la orange. Pour ne pas colorier en vert les cases vides, vous pouvez changer la condition en "formule" et mettre :

=ET(NON(ESTVIDE(O2)); O2<AUJOURDHUI()+91)

Attention la formule est sans "$", sinon elle va traiter uniquement la cellule O2.

D'ailleurs je me demande dans quelle mesure votre coloriage "tout vert" n'est pas lié à ce dernier point. Faites attention à ce que chaque cellule soit évaluée, pas uniquement la première.

Pour cela, utilisez plutôt les conditions de type "formule" et écrivez la formule pour la 1e cellule de la plage sans les "$" (comme je l'ai fait).

Merci beaucoup pour votre aide !

Le problème du remplissage en vert de toutes les cellules de la colonne O est résolu. Mais maintenant peu importe la date que je rentre, la cellule passe automatiquement en vert. Elle ne passe ni en rouge, ni en orange malgré le fait que les dates respectent les règles....

colonneo

Voici les règles que j'ai indiqué pour la "couleur orange" et la "couleur rouge" :

reglerouge regleorange

Bonjour à tous,

Il serait préférable d'avoir un extrait de fichier plutôt qu'une image.

Dans les exemples montrés, toutes les dates sont inférieures à Aujourdhui()+91, donc en vert.

Re,

Bienvenue au passage, j'avais oublié !

Veuillez voir l'exemple ci-joint, je pense que ce sera plus parlant

image
15ex-formats.xlsx (11.61 Ko)

Merci pour votre accueil :)

J'ai presque "tout compris" il y'a juste la formule pour la couleur orange ! Ma cellule A2 ne doit pas être supérieur mais entre AUJOURDHUI()+91 et AUJOURDHUI()+182. Savez-vous par quoi je dois remplacer ">" ? Dois-je juste entrer le mot "ENTRE" ?

Merci pour votre aide pour les deux autres couleurs ainsi que pour votre fichier exemple, cela était beaucoup plus parlant pour moi !

On peut écrire

=ET(A2>AUJOURDHUI()+91; A2<=AUJOURDHUI()+182)

mais c'est redondant. C'est tout l'intérêt de bien comprendre les formats conditionnels et leur ordre :

  1. En tout premier : on vérifie si la date est dans la zone rouge, càd >ajd+182. Si oui, on "Stoppe si vrai", et on colore en rouge, on ne s'occupe pas des autres conditions en dessous.
  2. Si non, alors on regarde la 2e condition de la liste : la date est-elle supérieure à ajd+91 ?

Vous voyez, on est "déjà" dans le sinon, si on vient sur cette condition, alors nécessairement la date est inférieure à ajd+182, c'est donc redondant de le réécrire/revérifier. En faisant comme ça : pas d'erreur de saisie, pas de conditions qui se chevauchent, et c'est facile à adapter si on veut modifier 1 marge, on n'a pas besoin de toucher les autres conditions.

Par contre il est primordial de respecter "l'ordre" (qu'on peut modifier avec les flèches en haut à droite dans mon dernier screenshot), pour bien aller "du plus grand au plus petit". L'inverse est aussi possible pour info (du + petit au plus grand). Ce qui compte c'est d'être cohérent et consistant.

Vous voyez d'ailleurs dans mon exemple qu'on a bien des cellules vertes/oranges/rouges : ça fonctionne.

De même, je n'ai mis la condition "si la cellule est vide, ne pas colorier" que dans le dernier format conditionnel car c'est le seul cas (cellule inférieure à aujourdhui+91 : cellule vide le valide) qui va avoir le problème de colorier des cellules vides.

Merci beaucoup pour votre temps.

J'ai suivi vos indications :

regles

mais le remplissage de la cellule est en décalée et le code couleur n'est pas respecté puisque la case se remplie en vert alors qu'elle devrait être rouge

colonne n

Je vous joint mon tableau au cas où cela peut vous aider à comprendre..

10tableau-excel.xlsx (29.42 Ko)

Ci-joint formule corrigée (si vous appliquez sur toute la colonne vous devez mettre "N1" et non "N2" dans les formules).

J'ai rajouté une condition "EST.TEXTE" pour que la ligne d'en-tete ne soit pas colorée.

18tableau-excel.xlsx (22.92 Ko)

Bonjour à tous,

Cocher la cas "Interrompre si vrai" est inutile ici. De par son fonctionnement la MFC s'arrête quand un critère est Vrai pour un élément de mise en forme donné (ici le remplissage)

La plage sur laquelle porte la MFC doit être celle du tableau et pas la colonne, sinon il faut faire la MFC sur la cellule N1.

Mettre une condition ET pour la format orange permet de s'affranchir de l'ordre des règles.

11ex-formats.xlsx (18.01 Ko)

Merci pour votre aide !

Je pense avoir réussi !!

Bonjour à tous,

Cocher la cas "Interrompre si vrai" est inutile ici. De par son fonctionnement la MFC s'arrête quand un critère est Vrai pour un élément de mise en forme donné (ici le remplissage)

La plage sur laquelle porte la MFC doit être celle du tableau et pas la colonne, sinon il faut faire la MFC sur la cellule N1.

Mettre une condition ET pour la format orange permet de s'affranchir de l'ordre des règles.

11ex-formats.xlsx (18.01 Ko)

C'est correct @BeGood, mais en faisant comme ceci on évalue toutes les MFC pour chaque cellules. Avec beaucoup de données le classeur devient lent. En suivant une logique simple on peut "bloquer" ces calculs inutiles en cochant la case.

@Deadnight, merci pour votre retour, content d'aider. Avec les autres propositions vous voyez qu'il n'y a pas de méthode unique, mais plusieurs moyens de procéder. Ce qui compte c'est de s'y retrouver

Oui en effet, les solutions sont vastes !

J'ai une autre question, j'espère qu'elle passera malgré le fait que j'ai validé vos réponses. Je tente on verra bien :

Je pense que j'ai fais une erreur dans ma "logique" et c'est pour cela que je n'ai pas le résultat attendu au niveau des couleurs. Je souhaiterais que la case soit verte lorsque la date inscrite dans ma cellule est > à 6 mois, que la case soit orange lorsque la date inscrite dans ma cellule est entre 3 et 6 mois et que la case soit verte lorsque la date inscrite est inférieure à 3mois.

Or avec mes indications de règles différentes et celle que vous avez entré en suivant mes indications, on se base sur la date d'aujourd'hui et non celle dans la cellule, non ?

Je ne sais pas si je suis claire. En gros plus la date dans la cellule est vieille et plus elle est censée être rouge. Alors qu'avec mes "formules", c'est l'inverse. Plus elle est loin dans le futur et plus elle est rouge.

Je suis désolée, je n'ai aucune logique pour les formules excel.

Ces dates, elles sont dans le passé, le futur, ou les 2 ?

Si vous cherchez à classer, dans des dates antécédentes à aujourd'hui, celles qui sont "les plus vieilles" en rouge, oui il faut revoir la formule.

Personnellement, j'utiliserai la fonction Fonction MOIS.DECALER - Support Microsoft

Ainsi la formule

=A1<MOIS.DECALER(AUJOURDHUI();-6) renvoie "vrai" quand la date en A1 est dépassée de +6 mois par rapport à aujourd'hui.

Ces dates sont toutes dans le passé, donc votre formule correspond totalement à mon besoin !

Je vais l'essayer de suite.

Pour les autres formules, ai-je bon ?

- Pour la couleur orange qui correspond à un dépassement entre 3 et 6 mois : =A1<MOIS.DECALER(AUJOURDHUI();-3)

- Pour la couleur verte, je ne sais pas quelle formule utilisait pour que la case devienne verte lorsque que la date est inférieur à moins de 3 mois dans le passé par rapport à la date d'aujourd'hui ..

- Pour la couleur orange qui correspond à un dépassement entre 3 et 6 mois : =A1</mois.decaler(aujourdhui();-3)<>

Oui c'est ça.

Si vert est le cas "date de moins de 3 mois par rapport à aujourd'hui", en réalité il n'y a pas vraiment besoin de test. C'est pour ça que vous n'en trouvez pas.

Pour le coloriage en vert, vous pouvez donc simplement garder la partie de vérification que la cellule n'est pas vide/n'est pas du texte, pour éviter les coloriages des cellules non voulues.

J'ai réussi, tout est fonctionnel !

Merci infiniment pour votre aide :)

Rechercher des sujets similaires à "erreur regles mise forme conditionnelle"