Mise en forme conditionnelle avec 3 conditions

Fermé
razekiel Messages postés 77 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 17 janvier 2016 - Modifié par razekiel le 16/07/2014 à 11:24
razekiel Messages postés 77 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 17 janvier 2016 - 22 juil. 2014 à 12:53
Bonjour,

J'ai écumé Google mais la je ne trouve pas de solution.
Le but de ce fichier excel est d'obtenir un indicateur (rouge/orange/vert) en fonction d'une date de chantier.

Je fixe une date de chantier, par rapport à la date du jour, un écart est calculé. Exemple il reste 8jours.
J'ai défini un délai pour 7 familles d'article.
Si l'écart est Supérieur, Inférieur, ou Compris dans le délai de la famille j'ai un indicateur Rouge, Vert ou Orange.

Je ne parviens pas à mettre cela en forme.
J'ai créé une colonne S que je compte masquée par la suite, qui affiche 2,1 ou 0.
J'aimerais avoir dans une autre colonne (colonne F) un Jeux d'icone qui affiche
- Si =2: VERT
- Si =1: ORANGE
- Si =0: ROUGE

En PJ un exemple de mon document
Par avance merci

https://www.cjoint.com/?DGqlxOzcOUt

A voir également:

8 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
16 juil. 2014 à 20:13
Bonsoir

regardez si ceci peut vous convenir (explications en haut de la feuille V2)
https://www.cjoint.com/?DGqumN8No6p

crdlmnt
1
razekiel Messages postés 77 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 17 janvier 2016 3
16 juil. 2014 à 12:49
Merci beaucoup Vaucluse pour cette solution qui répond parfaitement à mon soucis.
Puis je me permettre de dériver avec une autre petite question qui je pense est assez simple.

J'ai la colonne D qui représente une date d'exécution. De qu'elle façon je peux permettre un tri (par forcément automatiquement sinon ca implique un code VBA) en fonction des dates tout en conservant la même mise en page?

Merci à toi.

https://www.cjoint.com/?DGqmXAR9FnJ
0
razekiel Messages postés 77 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 17 janvier 2016 3
16 juil. 2014 à 21:50
Ca fait un tri comme je le souhaite c'est super.
Crtl+t fonctionne très bien. L'usage de se fichier sera partagé et je suis pas certain que ce soit le plus intuitif pour tout le monde.

Je testerai demain sur ma version d'Excel la fonction Tri ou Filtre.

En revanche une chose risque de ne pas fonctionné. Toutes les dates ne seront pas renseignées. Il faut que le tri puisse s'effectuer uniquement pour les cellules de la colonne D ayant une date de renseignée.

Cela est-il possible?

En quelques mots peux tu m'expliquer ce que tu as réalisées? Pour que j'ai l'idée principale.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
Modifié par Vaucluse le 17/07/2014 à 07:58
Bonjour

Voila le fichier modifié pour tenir compte des phases sans date. Pour assurer le fonctionnement, j"ai aussi modifié la formule en D qui calcule le nombre de jours, car elle renvoie une erreur s'il n'y a pas de date en D et donc perturbe le système
https://www.cjoint.com/?DGrhSc23Nmo

Dans ce système, les conditions impératives sont maintenant:

_que chaque tableau contienne exactement le même nombre de lignes de façon à ce que les "pas" des dates soit régulier (ligne 13,21,29,37 ect...donc +8 à chaque fois)
_que la colonne D ne contienne que des dates sur la ligne de début de tableau et autrement des textes ou des valeurs numériques <10000. ?Il faut dinc que la date du jour soit bien présente en D10 pour limiter le nombre de jours calculé dans D

L'explication de la formule en A dans ce dernier fichier (pas facile par écrit!!!)

elle utilise la valeur numérique de la date pour excel (de l'ordre de 41900 à l'époque)

=SI(MAX(D6:$D13)<10000;50000;SI(D13>10000;D13+LIGNE()/1000;A12))

MAX(D6:D13) détecte si il y a une valeur >10000 dans le champ D des 8 lignes au dessous de la ligne ou elle se trouve
S'il n'y en a pas, renvoie la valeur 50000 (soit le 21/11/2036 pour info), de façon à repousser les lignes concernées en bas du tableau.

Sinon on passe à l'item suivant:
SI(D13>10000;D13+LIGNE()/1000
détecte si la valeur en D est une date (>10000) et renvoie cette valeur majorée de la valeur du N° de ligne divisé par 1000
cette item permet d'incrémenter différemment les dates identiques en D selon leur position dans le tableau complet soit date+ N° de ligne divisé par 1000

et enfin, le dernier item renvoie simplement la valeur située au dessus si aucune conditions n'est remplies.

En résumé:
la valeur calculée s'inscrit en A sur la ligne où se trouve la date, se répéte tant qu'il n'y a pas de date 8 lignes + bas, et change lorsque qu'il y a une date en D.
L'entier de la valeur donc est identique pour chaque date et incrémenté de 0,001 à chaque date identique, ce qui permet le classement en progressif

Conseil: construisez votre tableau en copiant / collant les 8 lignes du tableau les unes sous les autres pour "garder" le pas

Voila voila

revenez si besoin de complément

crdlmnt









Errare humanum est, perseverare diabolicum
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
razekiel Messages postés 77 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 17 janvier 2016 3
Modifié par razekiel le 17/07/2014 à 11:18
Bonjour Vaucluse,

D'accord je comprends mieux c'est valeur. Je ne savais pas qu'une date pouvais correspondre à une valeur.
Du coup l'idée est vraiment intéressante.

J'ai donc adapté tes formules et codes à mon fichier.

Une seule chose ne fonctionne pas, ça semble venir du VBA mais je ne suis pas calé là dedans.
Ctrl+T ne lance pas le trie, si je lance un débogage c'est cette ligne qui est en cause. Serait il possible, pputot qu'un Ctrl+T, de lancer la macro par double clic sur DATE D'EXCUTION (C17)
.Apply

Je te joins mon nouveau document adapté.
https://www.cjoint.com/?DGrlskLAD1e
C'est la feuille V2.2

Sinon tu disais "Conseil: construisez votre tableau en copiant / collant les 8 lignes du tableau les unes sous les autres pour "garder" le pas"

Je peux faire une sélection/glisser?

Merci pour ton temps Vaucluse
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
Modifié par Vaucluse le 17/07/2014 à 13:28
Re
https://www.cjoint.com/?DGrnpJcxb7t
ton fichier avec des corrections, mais tout est à vérifier car il faut traiter tous les cas de figure

Les corrections:
__le tri se mélange les pédales avec la notion d'affichage des plans. Je les ai supprimés car je ne suis pas assez costaud en VBA pour contourner le problème
__J'ai modifié la formule pour garantir le tri en plaçant aussi un 50000 croissant selon les lignes
__J'ai descendu la formule jusqu'à la ligne 2000 pour ne pas avoir de valeur nulle dans le tri
__J'ai placé la commande de macro par ctrl t ou par double clic en C17 (voir clic droit sur le nom d'onglet et visualiser le code)

J'ai aussi revu la macro:

__pour aligner les bonnes références de champ et de tri (de 18 à 2000 et de B à T avec tri sur la colonne Q)
__pour garantir le tri hors formules en collant les valeurs de la colonne R sur la colonne Q sans formule, Q servant de référence de tri et s'effaçant en fin d'opération)

La colonne Q ne doit donc pas être utilisée.

S'il faut changer quelque chose, reviens, mais teste ça avant

Par ailleurs: oui il est possible de "tirer" vers le bas le tableau de 8 lignes pour descendre jusqu'à 2000, y compris la zone de formule en R en sélectionnant de A à T
Le système est prévu pour fonctionner jusqu'à ligne 2000 (ou un peu avant pour avoir un dernier tableau de 8 lignes).
Mais dans tous les cas pour éviter les erreurs de tri, bien laisser la formule en R jusqu'à ligne 2000

crdlmnt
Errare humanum est, perseverare diabolicum
0
razekiel Messages postés 77 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 17 janvier 2016 3
17 juil. 2014 à 14:59
J'ai testé en rajoutant du coup des lignes (par paquet de 8) et indiqué des dates pour faire un classement mais rien ne se passe hormis me renvoyer vers la cellule A1 (fin de ta macro).

J'ai bien fais une sélection/glissé pour rajouter les lignes en prenant bien soin de copier les colonnes Q R S T.
Et c'est à cause de selon que le double clic ne fonctionne plus on dirait.

En effet si je conserve tes trois paquets de lignes le tri fonctionne correctement

Il est important lors du tri que la colonne T soit incluse car les valeurs des cettes colonnes sont nécessaires à la mise en forme conditionnelle ROUGE ORANGE et VERT.
0
razekiel Messages postés 77 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 17 janvier 2016 3
17 juil. 2014 à 15:04
Oublie ce que j'ai dis. Je viens de refaire un essai et ca fonctionne. Peux être que je me suis simplement embrouiller avec les différentes versions échangées. Je test un peu plus et je reviens vers toi ;)

Et encore merci
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
17 juil. 2014 à 17:12
.. pour suivre, un petit joujou pour le fun, qui se passe de la colonne T pour les MFC
explications dans le fichier
https://www.cjoint.com/?DGrrlZTXpVQ

crdlmnt
0
razekiel Messages postés 77 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 17 janvier 2016 3
17 juil. 2014 à 18:13
Whaou, c'est super. Tu n'aurais pas du t'embêter à ce point pour les MFC. C'était caché. Mais les tiennent sont encore plus pointu. C'est super.

Dis moi, je suis étonné d'une chose. J'ai voulu inséré des colonnes ou renommé la feuille. Le code ne s'actualise pas du tout en fonction? Si j'insère des colonnes je dois faire en sorte de modifier les colonnes des Modules 1 et 2 du code VBA?

Voici le dernier que j'avais finalisé niveau présentation. Et je me suis rendu compte qu'a la fin que le tri ne fonctionnait plus. Est ce bien à cause de la macro et des colonnes? Si oui je vais modifier cela

https://www.cjoint.com/?3GrsmsNZR3I
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
17 juil. 2014 à 18:36
Je ne peux pas accéder à la feuille qui est protégée avec un mot de passe mais déjà:

Le tri ne peut pas fonctionner dans le fichier que tu me transmet car la macro ne se modifie pas avec l'insertion de colonne, et comme la feuille est protégée; il faut aussi intègrer le retrait de la protection au lancement de la macro et la remettre en fin d'opération
Enfin, comme les colonnes de tri sont masquées, il faut modifier dans la macro le type de sélection.
redonne moi le fichier sans la protection et je te met ça au point, car ça risque d'être coton à expliquer ici.
je mettrais dans la macro les commentaires qui te permettront de t'y retrouver pour plus tard.

Autre remarque: je pense que la création des plans perturbe le classement, je les avais enlevé dans la proposition et je ne suis pas du tout sur que tu puisses les garder.
a+
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
17 juil. 2014 à 18:38
... excuses, je viens de voir que le mot de passe était indiqué dans la page. Je te règle ça
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
16 juil. 2014 à 11:16
bonjour
placez plutôt votre fichier sur:
https://www.cjoint.com/
à +
-1
razekiel Messages postés 77 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 17 janvier 2016 3
16 juil. 2014 à 11:24
Voila Vaucluse c'est mis sur ci-joint.
Crdt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
Modifié par Vaucluse le 16/07/2014 à 11:43
Re

Si vous conservez les guillemets qui encadrent 0 1 2 dans votre formule en S il faudra considérer ça comme des valeurs texte
et donc pour mise en forme conditionnelle
pour info: sélectionner la hauteur utile en F à partir de F14
Onglet accueil Mise en forme conditionnelle / nouvelle régle
"utiliser une formule pour mettre les cellules en surbrillance"
la formule est
=$S14="0"
format formatez en rouge
OK retour à la fenêtre de MFC nouvelle règle
=$S14="1" pour l'orange
=$S14="2" pour le vert

qui vous donnera la couleur de cellule
(vous ne pouvez pas utiliser les icônes de MFC automatique dans une cellule autre que celle qui commande la MFC)

Placez bien les valeurs entre guillemets comme dans la formule en S

crdlmnt
0