Remplir planning par couleur ( en fonction d'un nombre de jours et une date butoir)

brutor2

XLDnaute Junior
Bonsoir à tous,

Je viens une nouvelle fois solliciter votre aide, mes recherches n'ayant abouties à aucune solution concrète.

Présentation du sujet :

J'ai donc un classeur qui contient actuellement 4 feuilles.

La première feuille servira d'accueil et à entrer les critères qui serviront de sélection. (nombre de jours et date butoir)

Les trois autres (mais cela pourraient être plus), correspondront chacune à une année dans lesquelles on trouvera le calendrier de l'année concernée.

Présentation du projet :

Sous forme Vba, je cherche à écrire un code qui en partant de la date butoir en B4 de la 1ère feuille (et donc pour les jours antérieurs) et en fonction d'un nombre de jours indiqués en B2 me colorie d'une même couleur toutes les cellules de mes calendriers qui sont blanches.

Je tiens à préciser que les jours fériés seront et doivent rester de couleur rouge.
Les week-end sont indiqués en gris car ils correspondent à des journées de repos, mais ces jours de repos pourraient se retrouver en semaine.
Ils ne comptent pas dans le total du nombre de jour.

Cerise sur le gâteau, si à l'issue de la colorisation des cellules, un message Box indiquait la date à laquelle s'arrête la manip.

J'ai donc tenté de retrouver une solution sur le forum, mais rien qui pourrait m'indiquer une piste.

Je tiens à vous préciser que je suis débutant en Vba.

Merci à vous de me lire et pour votre aide.

Bonne soirée.

Brutor2
 

Pièces jointes

  • Décompte.zip
    7.3 KB · Affichages: 116
  • Décompte.zip
    7.3 KB · Affichages: 114
  • Décompte.zip
    7.3 KB · Affichages: 120

CBernardT

XLDnaute Barbatruc
Re : Remplir planning par couleur ( en fonction d'un nombre de jours et une date buto

Bonsoir Brutor2,

une solution :

1- Coloration en vert des jours satisfaisant les critères ;
2- possibilité de remise à zéro des calendriers annuels ;
3- Date de début de période inscrite en B8.
 

Pièces jointes

  • DécompteV1.zip
    21.7 KB · Affichages: 172
  • DécompteV1.zip
    21.7 KB · Affichages: 165
  • DécompteV1.zip
    21.7 KB · Affichages: 175

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Remplir planning par couleur ( en fonction d'un nombre de jours et une date buto

Bonjour,

Sans VBA avec MFC

=ET(A5>=Debut;A5<=Fin;JOURSEM(A5;2)<6)

JB
 

Pièces jointes

  • PlanningProjet.zip
    20.7 KB · Affichages: 176
Dernière édition:

brutor2

XLDnaute Junior
Re : Remplir planning par couleur ( en fonction d'un nombre de jours et une date buto

Bonjour CBernardT, BOISGONTIER,

Bonjour le forum,

CBernardT
Quand j'ai vu ta solution, mon premier mot a été "Waouh !!!" Il est trop fort !
Félicitations.
c'est exactement ce à quoi je voulais arriver. Cerise comprise
Le petit plus auquel je n'avais pas pensé la touche effacement.

J'ai donc jeté un coup d'oeil au code et là deuxième Waouh !!!, je comprends pas tout !!!
Il va donc falloir se pencher fortement là-dessus.
J'aurais tout de même besoin de précisions sur des détails à ma portée:
  1. Quelle est la référence dans le code des journées en rouge et celles en grise ?
    Interior.ColorIndex = 4 correspond au vert, mais à quoi correspond Interior.ColorIndex = -4142 ?
  2. Suffit-il de changer ces valeurs pour les adapter à d'autres couleurs où est-ce plus complexe (notamment pour le vert)?
  3. Comment peut-on faire lors du calcul du début de la période pour que les journées grises et rouges soient comprises dans la date annoncée si elles se trouve juste devant le début de période?
    Ou bien alors que le début de période annoncée soit le premier jour en blanc avant la période si c'est plus simple ?
Encore Bravo et merci si tu peux m'indiquer ces précisions...


BOISGONTIER
Waouh !!! aussi.
J'ai pas tout suivi mais j'ai vu qu'il y avait des formules matricielles !!!

Ta solution est intéressante aussi car elle me montre les différentes possibilités pour arriver à une solution (même si j'ai une préférence pour celle de CBernardT).

  • Au contraire de la sienne le décompte inclus dans le nombre de jours les fériés et les journées de repos (dans l'exemple journées grisées sur les week-end, mais qui pourraient se trouver en semaine).
  • Comment se fait la coloration des jours fériés et leur changement de date automatiques en fonction de l'année ? (c'est intéressant)
    Ainsi que la coloration en fonction du nb de jours ?
Merci à toi de t'être pencher sur la question et bravo aussi.


Dans l'attente de vous lire.

Bien cordialement

Brutor2
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Remplir planning par couleur ( en fonction d'un nombre de jours et une date buto

-Les formules matricielles génèrent le calendrier automatiquement (année en P1)
-Le coloriage du projet se fait avec la MFC
=ET(A5>=Debut;A5<=Fin;JOURSEM(A5;2)<6)

JB
 

Pièces jointes

  • PlanningProjet2.zip
    19.7 KB · Affichages: 148
Dernière édition:

CBernardT

XLDnaute Barbatruc
Re : Remplir planning par couleur ( en fonction d'un nombre de jours et une date buto

Bonjour Brutor2 et BOISGONTIER,

J'ai aussi été très étonné des formules mises en place par JB ! :eek:

La classe, c'est la classe ....:confused:

Pour ma part, les projets sur des tableaux me font cogiter aussitôt par VBA.

Pour répondre à Brutor2 sur ses trois points :

1- Effectivement le ColorIndex du Vert = 4. Les index du gris et du rouge ne sont pas utilisés, car pas nécessaires ! les cellules qui nous intéressent sont celles qui sont sans couleur, ColorIndex = -4142, il est aussi possible d'utiliser =Xlnone.

2- Effectivement, pour changer la couleur verte, il suffit de changer le ColorIndex. Attention cependant de réaliser le changement dans les deux macros ! Dans la macro de mise en place de la période et dans la macro d'effacement.

3- Là, c’est plus la cerise sur le gâteau, c’est carrément le panier hi hi

Si j’ai bien compris, le nouveau classeur joint doit rajouter les jours en gris ou en rouge en début de période. Le ColorIndex pour le gris =15 et le rouge = 46.
 

Pièces jointes

  • DécompteV1.zip
    23.1 KB · Affichages: 89
  • DécompteV1.zip
    23.1 KB · Affichages: 102
  • DécompteV1.zip
    23.1 KB · Affichages: 93

brutor2

XLDnaute Junior
Re : Remplir planning par couleur ( en fonction d'un nombre de jours et une date buto

Bonjour CBernardT et BOISGONTIER,


BOISGONTIER à dit:
-Les formules matricielles génèrent le calendrier automatiquement (année en P1)
-Le coloriage du projet se fait avec la MFC
=ET(A5>=Debut;A5<=Fin;JOURSEM(A5;2)<6)

JB

La mise en forme conditionnelle bien sur, je n'y pense pas assez car on est limité à trois conditions je crois.

Sinon hormis la complexité des formules (que je ne vais pas comprendre en un seul jour !!!) dans ton premier fichier qu'est-ce qui fait que les jours fériés s'adaptent en fonction de l'année choisie (une liste cachée ou un calcul ????)

dans le second fichier le début de période ne s'inscrit plus et donc la mise en forme conditionnele (coloration bleue ne se fait plus). A la place j'ai #NOM ?

Et je suis aussi impressionné que CBernardT



CBernardT à dit:
1- Effectivement le ColorIndex du Vert = 4. Les index du gris et du rouge ne sont pas utilisés, car pas nécessaires ! les cellules qui nous intéressent sont celles qui sont sans couleur, ColorIndex = -4142, il est aussi possible d'utiliser =Xlnone.
Je comprends un peu mieux...

CBernardT à dit:
2- Effectivement, pour changer la couleur verte, il suffit de changer le ColorIndex. Attention cependant de réaliser le changement dans les deux macros ! Dans la macro de mise en place de la période et dans la macro d'effacement.
J'avais essayé mais mon erreur c'était de changer la valeur dans le code avant d'effacer la période calculée précédemment. Donc cela ne pouvait plus effacer la couleur 4.
Je suis bête, je sais !!!

CBernardT à dit:
- Là, c’est plus la cerise sur le gâteau, c’est carrément le panier hi hi

Si j’ai bien compris, le nouveau classeur joint doit rajouter les jours en gris ou en rouge en début de période. Le ColorIndex pour le gris =15 et le rouge = 46.
Et si je continues la patissière avec !!!:)

Donc j'ai fait l'essai du nouveau fichier
sur 225 jours impeccable, il prend bien le 9/7/2011 jours grisé Trop fort !!!:D
sur 222 jours il ne prend pas le 14/07/2011 jour en rouge.:confused:

Une idée ?

Encore merci et à vous deux et je suis toujours aussi admiratif...

Cordialement.

Brutor2
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Remplir planning par couleur ( en fonction d'un nombre de jours et une date buto

=SERIE.JOUR.OUVRE(Fin;-B3;jrepos)
Activer outils/Macro complémentaire/Utilitaire analyse

-Les jours fériés sont calculés automatiquement en colonne AH de la feuille 2010.
-Les jours de repos s'écrivent en colonne AH

http://boisgontierjacques.free.fr/fichiers/Dates/PlanningProjet2.xls


JB
 
Dernière édition:

CBernardT

XLDnaute Barbatruc
Re : Remplir planning par couleur ( en fonction d'un nombre de jours et une date buto

Re,

Quelques modifications dans le fichier joint.
 

Pièces jointes

  • DécompteV1.zip
    24.3 KB · Affichages: 102
  • DécompteV1.zip
    24.3 KB · Affichages: 84
  • DécompteV1.zip
    24.3 KB · Affichages: 80

brutor2

XLDnaute Junior
Re : Remplir planning par couleur ( en fonction d'un nombre de jours et une date buto

Bonjour CBernardT et BOISGONTIER,

BOISGONTIER à dit:
Activer outils/Macro complémentaire/Utilitaire analyse
bien sur quel I.... !!! je n'avais pas compris que macro com c'était macro complémentaires. Évidemment cela marche beaucoup mieux ainsi.
Désolé...:confused:

CBernardT à dit:
Quelques modifications dans le fichier joint

Impeccable c'est correct.

Merci encore pour votre aide à tous les deux.:cool:

Je vais essayer de m'inspirer de vos solutions et surtout de les décortiquer pour avancer dans mon envie de pouvoir un jour en être capable.

Heureusement qu'il y a des gens comme vous...

Merci le forum.

Au plaisir de vous lire.

Bien cordialement.

Brutor2
 

CBernardT

XLDnaute Barbatruc
nombre de jours avant une date butoir

Bonsoir brutor et le forum,

Malgré ton message personnel, je répond sur le post précédent sur le forum afin que tous les participants profitent de la suite donnée au sujet.

Dans la macro PERIODE, un renvoi sur la macro Nbre_Jours_Restants, macro qui détermine le nombre de jours restants devant la période verte qui commence par la date inscrite dans la cellule B8.
 

Pièces jointes

  • DécompteV2.zip
    25.7 KB · Affichages: 128
Dernière édition:

brutor2

XLDnaute Junior
Re : Remplir planning par couleur ( en fonction d'un nombre de jours et une date buto

Bonsoir Bernard,
Bonsoir le forum,

Effectivement, cela peut être utile pour tous....:eek::eek::eek:

Comme le reste c'est parfait car exactement le résultat souhaité.

Mille fois merci.

Bien cordialement.

Brutor
 

Discussions similaires

Réponses
14
Affichages
723
Réponses
14
Affichages
526

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16