Aide pour mise en forme conditionnelle

Jack2

XLDnaute Occasionnel
Bonjour le forum,

J'ai voulu quitter le VBA pour mettre une mise en forme conditionnelle qui colorierait les cellules correspondant à un jour férié ou au mois précédent/suivant (cf. fichier joint). Je nage. Ca confirme que je suis nul en formules. J'ai réussi péniblement quelques exercices simples trouvés sur le forum et sur le site de Boisgontier... sans pouvoir les reproduire.

Si quelqu'un pouvait m'aider sur au moins une des conditions pour que je comprenne. Le "bonus" serait de récupérer le mois ou l'année qui figure dans l'onglet (Janvier14 ou Janvier 14), si c'est possible.

Si c'est plus pratique sur Excel 2007, on l'utilise au boulot.

Merci par avance.

A+ Jack2
 

Pièces jointes

  • Planning_2014.xls
    45.5 KB · Affichages: 59
  • Planning_2014.xls
    45.5 KB · Affichages: 62
  • Planning_2014.xls
    45.5 KB · Affichages: 67
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Aide pour mise en forme conditionnel

Bonsoir

1) Où as-tu défini la plage "fériés" ?
2) Pour que la condition fonctionne sur toutes les colonnes, il ne faut pas mettre de $ devant certaines lettres... sinon, cela ne dépendra que des valeurs dans la première colonne.

@ plus
 

Jack2

XLDnaute Occasionnel
Re : Aide pour mise en forme conditionnel

Bonsoir CISCO,

Il ne faut tenir compte de plage "fériés" , c'était un essai où la cette plage correspondait aux jours fériés de cette année (ni de la tentative de mise en forme conditionnelle).

A+ Jack2
 
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : Aide pour mise en forme conditionnel

Bonsoir, Jack2, CISCO:)

9, 12 ou 13 lignes par semaine, sans explication.
Les équipes 1 et 2 ou 1 et 2 et 3 ou 1 et 2 et 1 par semaine sans raison expliquée...
Des dates en dur ou des dates calculées non harmonisés...
Travail approximatif qui ne donne pas envie de s'y pencher.
Je vous conseille de faire une recherche sur ce forum (la loupe en haut à droite) en indiquant planning, et de vous inspirer des résultats. Cela vous évitera de réinventer, en moins bien, le "fil à couper le beurre".
 

Jack2

XLDnaute Occasionnel
Re : Aide pour mise en forme conditionnel

Bonjour tout le monde,

Faire un post dans la précipitation d'un départ conduit à une demande confuse. La plage "fériée" vient d'un fichier de JCGL que j'avais oublié de remercier http://www.excel-downloads.com/forum/214997-resolu-mfc-couleur-de-cellule-selon-jours-feries-2014-a.html où les jours fériés sont regroupé dans ladite plage (Fer).

Comme mes collègues souhaitaient depuis longtemps que l'on trouve un moyen de ne pas avoir à mettre manuellement des couleurs différentes pour :

- les jours qui n'appartiennent pas au mois en cours en vert (avant et après)
- les jours fériés en mauve
- ce planning comporte des jours, ou des semaines, où il y a 3 équipes qui travaillent, au lieu de 2 habituellement. D'autres annotations conduisent également à un nombre de lignes différent selon les semaines.
- Chaque mois l'un de nous fait une copie de l'onglet précédent

J'ai donc essayé sans succès une mise en forme conditionnelle, car je pensais pouvoir récupérer les informations de l'onglet (Janvier14...) pour déterminer le mois et l'année.

J'espère avoir été plus clair, ce qui n'était pas très difficile. Si ce n'est pas possible, je peux m'inspirer de l’exemple de JCGL.

Par contre pour Victor21 (Travail approximatif), ce planning a été fait en 2003 et je ne peux pas le modifier, seulement l'automatiser (sans VBA). J'avais fait une recherche sur MFC et je ne suis pas d'accord avec réinventer, en moins bien, le "fil à couper le beurre". Quand on débute, on ne fait que ça et l'on apprend au fur et à mesure en regardant ce qui est fait par les plus chevronnés (ou mieux en le comprenant avant). Depuis que je suis sur ce forum, je suis arrivé, plus ou moins bien (plutôt moins en général, mais ça viendra) , à automatiser 4 des 5 calculs que souhaitais faire en me mettant au VBA. Pour finir, comme, je le disais, j'aimerais utiliser un peu plus les autres fonctions d'Excel et la MFC.

Voilà, quel bavard !

A+ Jack2
 

CISCO

XLDnaute Barbatruc
Re : Aide pour mise en forme conditionnel

Bonjour

Le début du travail en pièce jointe.

@ plus
 

Pièces jointes

  • planning_2014.xls
    38.5 KB · Affichages: 34
  • planning_2014.xls
    38.5 KB · Affichages: 42
  • planning_2014.xls
    38.5 KB · Affichages: 41

Jack2

XLDnaute Occasionnel
Re : Aide pour mise en forme conditionnel

Bonjour à tous,

Merci beaucoup CISCO, je vais regarder ça chez moi. La fonction DECALER m'avait parue compliquée et le EQUIV(9^9; ne me parait pas évidence. Je vais plancher dessus.

Encore merci

A+Jack2
 

JCGL

XLDnaute Barbatruc
Re : Aide pour mise en forme conditionnel

Bonjour à tous,
Salut Cisco,
Salut Patrick,

Un essai où il est seulement nécessaire de modifier l'année en A1 de Data et tout le reste suit.

A+ à tous
 

Pièces jointes

  • JC Planning.xls
    171 KB · Affichages: 44
  • JC Planning.xls
    171 KB · Affichages: 44
  • JC Planning.xls
    171 KB · Affichages: 45
Dernière édition:

Jack2

XLDnaute Occasionnel
Re : Aide pour mise en forme conditionnel

Bonsoir tout le monde,

Merci JCGL, tout le travail est fait ! Il ne me reste plus qu'à comprendre les formules des deux solutions. Ca va prendre du temps...

Encore merci au fil,

EDIT Merci à CISCO pour tes explications qui vont m'être utiles.

A+ Jack2
 

CISCO

XLDnaute Barbatruc
Re : Aide pour mise en forme conditionnel

Bonsoir

En se plaçant en C4 pour définir la MFC, on utilise la relation
=MOIS(AUJOURDHUI())<>MOIS(DECALER(C$1;EQUIV(9^9;C$2:C3;1) ; ))

Avec EQUIV(9^9;C$2:C3;1), Excel recherche 9^9, valeur qu'il ne trouve pas, et donc renvoie la position de la dernière valeur numérique de la colonne au dessus de la cellule en cours, grâce au 1 (avec 0, la formule renverrait #NA car Excel ne trouverait pas 9^9).
Avec DECALER(C$1;EQUIV(9^9;C$2:C3;1) ; )), Excel renvoie la dernière valeur numérique, donc la dernière date au dessus de la colonne au dessus de la cellule en cours (DECALER(position initiale; nbre de lignes de décalage dans la colonne; nbre de colonnes de décalage).

C$2:C3 permet de prendre en compte toute la colonne de C$2 à Cx-1 lorsqu'on est en Cx (à cause du $ devant le 2, et de l'absence de $ devant le 3), et D$2 à Dx-1 lorsqu'on est en Dx (à cause de l'absence de $ devant les D) et de E$2 à Ex-1...

Ainsi, on peut utiliser une seule formule pour toute la plage C4:H50

Si tu avais eu le même nombre de lignes entre chaque date, on aurait pu faire autrement, peut être plus compréhensible, mais peut être pas plus court.

@ plus

PS 1 : Attention, une formule définissant une MFC doit toujours être rédigée par rapport au coin supérieur gauche de sa plage d'action, ici C$4:H$50.
PS 2 : Le mieux, pour comprendre cette formule, c'est de l'écrire en C4, et de la tirer vers le bas. Puis ensuite, d'essayer de la comprendre avec "Formules" et "Evaluation de formule".
 
Dernière édition:

Statistiques des forums

Discussions
312 207
Messages
2 086 231
Membres
103 161
dernier inscrit
Rogombe bryan