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
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
A voir également:
- Mise en forme conditionnelle avec 3 conditions
- Mise en forme conditionnelle excel - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise en forme tableau croisé dynamique - Guide
- Mise a jour windows 10 - Accueil - Mise à jour
- :3 smiley ✓ - Forum Mail
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
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
regardez si ceci peut vous convenir (explications en haut de la feuille V2)
https://www.cjoint.com/?DGqumN8No6p
crdlmnt
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
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
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
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
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.
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.
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
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
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
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
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)
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
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
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
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
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
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
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.
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.
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
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
Et encore merci
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
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
explications dans le fichier
https://www.cjoint.com/?DGrrlZTXpVQ
crdlmnt
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
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
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
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
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+
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+
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
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
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
16 juil. 2014 à 11:16
bonjour
placez plutôt votre fichier sur:
https://www.cjoint.com/
à +
placez plutôt votre fichier sur:
https://www.cjoint.com/
à +
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
16 juil. 2014 à 11:24
Voila Vaucluse c'est mis sur ci-joint.
Crdt
Crdt
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
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
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