Calendrier avec couleurs

Bonjour à tous,

je me suis lancé dans un projet sans doute simple mais complexe pour moi....

Je tente de créer un planning annuel automatisé pour une équipe qui travail à l'usine. Ils sont parfois des équipes de 15, parfois de 8, parfois de 10..., du coup, je me suis basé sur une équipe de 15 et au pire ensuite, ils supprimeront les lignes.

Dans le grandes lignes, ils travaillent 4 jours, puis ils ont deux jours de congé que je colore en gris. Puis, il reprennent avec 4 jours de travail et ainsi de suite.

Je mets également les samedi et dimanche mais sur les chiffres, le fond noir avec écriture blanche.

Je suis passé, via des macros, sur des mises en forme conditionnels. Mon souci est qu'une fois le document fini, si la personne qui prendra le fichier veut juste modifier une couleurs d'un congé par exemple les couleurs de mises en forme conditionnels restent...

J'aimerais bien trouver un système pour éviter ce souci de couleur. C'est à dire qu'une fois le document terminé, on puisse changer n'importe quelle couleur ou l'enlever sans souci.

Sans doute, il serait aussi plus agréable d'avoir une boîte de dialogue à l'ouverture du document ? je ne sais pas ce que vous en pensez...

J'ai également tenté d'intégrer les vacances.

Enfin, j'ai toujours le souci avec les années par rapport à février à 28 ou 29 jours...

Sans doute que je me suis compliqué la vie avec mes formules mais je ne m'y connais pas non plus super bien

19planning.zip (313.19 Ko)

J'arrive déjà pas mal à avancer sur mon fichier... par contre, si vous avez une idée pour faire des boucles avec les couleurs ?

Actuellement, via un userform et des checkbox

Private Sub CheckBox1_Click()

If CheckBox1.Value = True Then
Range("B4:C21").Interior.ColorIndex = 15 'janvier
Range("H4:I21").Interior.ColorIndex = 15
Range("N4:O21").Interior.ColorIndex = 15
Range("T4:U21").Interior.ColorIndex = 15
Range("Z4:AA21").Interior.ColorIndex = 15
Range("AF4:AF21").Interior.ColorIndex = 15
Range("AI4:AI21").Interior.ColorIndex = 15 'février
Range("AN4:AO21").Interior.ColorIndex = 15
Range("AT4:AU21").Interior.ColorIndex = 15
Range("AZ4:BA21").Interior.ColorIndex = 15
Range("BF4:BG21").Interior.ColorIndex = 15
Range("C23:D40").Interior.ColorIndex = 15 'mars
Range("I23:J40").Interior.ColorIndex = 15
Range("O23:P40").Interior.ColorIndex = 15
Range("U23:V40").Interior.ColorIndex = 15
Range("AA23:AB40").Interior.ColorIndex = 15
Range("AI23:AJ40").Interior.ColorIndex = 15 'avril
Range("AO23:AP40").Interior.ColorIndex = 15
Range("AU23:AV40").Interior.ColorIndex = 15
Range("BA23:BB40").Interior.ColorIndex = 15
Range("BG23:BH40").Interior.ColorIndex = 15
Range("B42:C59").Interior.ColorIndex = 15 'mai
Range("H42:I59").Interior.ColorIndex = 15
Range("N42:O59").Interior.ColorIndex = 15
Range("T42:U59").Interior.ColorIndex = 15
Range("Z42:AA59").Interior.ColorIndex = 15
Range("AF42:AF59").Interior.ColorIndex = 15
Range("AI42:AI59").Interior.ColorIndex = 15 'juin
Range("AN42:AO59").Interior.ColorIndex = 15
Range("AT42:AU59").Interior.ColorIndex = 15
Range("AZ42:BA59").Interior.ColorIndex = 15
Range("BF42:BG59").Interior.ColorIndex = 15
Range("BL42:BL59").Interior.ColorIndex = 15
Range("B64:B81").Interior.ColorIndex = 15 'juillet
Range("G64:H81").Interior.ColorIndex = 15
Range("M64:N81").Interior.ColorIndex = 15
Range("S64:T81").Interior.ColorIndex = 15
Range("Y64:Z81").Interior.ColorIndex = 15
Range("AE64:AF81").Interior.ColorIndex = 15
Range("AM64:AN81").Interior.ColorIndex = 15 'aout
Range("AS64:AT81").Interior.ColorIndex = 15
Range("AY64:AZ81").Interior.ColorIndex = 15
Range("BE64:BF81").Interior.ColorIndex = 15
Range("BK64:BL81").Interior.ColorIndex = 15
    Else
 Range("B4:BM59").Interior.ColorIndex = 2
 Range("A64:BT120").Interior.ColorIndex = 2
    End If

End Sub

Seulement je n'en suis qu'au mois d'août... et ensuite, je devrais encore le faire 11 fois de manières différentes a cause notamment des années à 28 ou 29 jours...

Je viens de passer ma journée à tenter la chose mais je suis vraiment nul

Je ne parvient pas avec les boucles... avec les MFC mon soucis et que par la suite c'est plus complexe pour les autres personnes à comprendre comment modifier les couleurs au besoin

Bonsoir,

Je n'ai pas tout compris dans l'utilisation de ton fichier, mais à mon avis, il est plus simple de gérer les MFC sans VBA.

Par exemple le fait de saisir un V dans une case colore cette case en rouge, comme indiqué dans ta légende.

Cordialement.

L'inconvénient des MFC est que la personne qui va reprendre le fichier ne sait pas comment, au besoin, elle peut enlever la couleur d'une cellule... d'où mon idée de passer en colorindex

re,

Les MFC sont accessibles par l'intermédiaire de l'onglet Mise en forme conditionnelle, je ne pense pas que les utilisateurs lambda aillent se perdre par là.

Le seul problème est que les copier coller peuvent multiplier les MFC, la solution copier coller Valeur.

De plus les MFC seront plus légères à mettre en place.

Cordialement.

EDIT :

Un essai sur le mois de janvier. Tu verras que pour effacer les MFC il faut le vouloir.

Cordialement.

2babare01.zip (396.35 Ko)
Rechercher des sujets similaires à "calendrier couleurs"