Calendrier perpetuel

20calendrier.xlsm (58.12 Ko)

Bonjour à tous

je suis en train de créer un calendrier perpétuel

je suis bloquer je voudrais faire apparaitre les vacances scolaire qui seront rempli dans le tableau de la feuille vacances scolaire

automatiquement selon la zone a b c sur mon calendrier dans la colonne V avec une couleur pour chaque zone

merci

Bonjour,

Voir si cela te convient

29calendrier.xlsm (59.09 Ko)

Slts

Bonsoir,

@boss_68, je crois qu'il manque un "=" sur vos formule "<=" et ">=" de mise en couleur des vacances car c'est le premier et dernier jour inclus, non ?

@ bientôt

LouReeD

Bonsoir, LouReeD

Effectivement c'est mieux ainsi merci de m'avoir remis sur les rails

En fait j'ai fait ça rapidos sans trop réfléchir

Slts

Pas de soucis, je ne suis pas là pour chercher l'erreur ! C'est juste que pour apprendre je cherche, je regarde, j'analyse et j'oublie !
Et si je vois un truc je propose une autre solution, une correction, une précision...

Bref, je suis embêtant !

@ bientôt

LouReeD

Bonjour

Merci à tous les deux je suis novice donc pourriez_vous me faire la correction sur le fichier

encore merci

9calendrier.xlsm (85.89 Ko)

Sur celui ci

Merci encore

Bonjour,

Voilà

Slts

45calendrier.xlsm (89.11 Ko)

Bonsoir,

je rajouterai une condition à la formule de MFC des vacances afin de ne pas avoir de "Bug" lorsqu'il n'y a pas de jour indiqué en colonne B (pour le premier mois).
En effet lorsque l'on veut décaler le premier mois de l'année on se retrouve avec "des morceaux" de vacances en face du 28,29,30 et 31 de février par exemple.

La condition à ajouter c'est qu'en colonne B il faut le Sommeprod de boss_68 et qu'il y ait autre chose que rien :
=ET(B8:C8<>"";SOMMEPROD((DebA<=B8:C8)*(FinA>=B8:C8)))

@ bientôt

LouReeD

Bonsoir

Merci à tous les deux

par contre un dernier renseignement

je vois bien la mise en forme conditionnelle mais je ne trouve pas le code vba

vous ne pourriez pas me faire un copier-coller sur un message

c'est pour essayer de comprendre

Merci

Re bonsoir

Il n'y a aucun code vba pour les congés scolaire, uniquement les formules utilisés pour chaque couleur dans la mise en forme conditionnelle

Slts

Bonsoir,

vous vous placez en cellule F8 et vous entrez en MFC la formule suivante pour le violet "Zone A" : =ET(C8<>"";SOMMEPROD((DebA<=C8)*(FinA>=C8)))

Ceci veut dire :
s'il y a une valeur en C8 ( <> veut dire différent et le double guillemet veut dire "rien", donc si C8 différent de rien = C8 a une valeur)
ET
si la date en C8 est égale ou supérieur à une date de la plage de donnée DebA ET (représenté par le multiplier) que la date en C8 est inférieure ou égale à la date en colonne FinA Même Ligne que DebA (ceci grâce à la fonction SOMMEPROD) alors on applique la mise en forme violet à la cellule.

Pour que cette formule s'applique à tous les mois sur tous les jours, il faut indiquer les différentes plages dans "s'applique à" et pour que cela fonction quelque soit le mois choisi pour le début du planning il faut que chaque zone aille de la ligne 8 à la ligne 38 :
=$F$8:$F$38;$O$8:$O$38;$X$8:$X$38;$AG$8:$AG$38;$AP$8:$AP$38;$AY$8:$AY$37;$BH$8:$BH$38;$BQ$8:$BQ$38;$BZ$8:$BZ$38;$CI$8:$CI$38;$CR$8:$CR$38;$DA$8:$DA$38

Le 38 n'est pas présent dans vos formules d'origine, ce qui crée des bugs d'affichage lorsque vous sélectionnez un autre mois que janvier en début de calendrier.

Ici pour l'explication j'ai également simplifié la formule de MFC car il n'est pas nécessaire de cibler B8:C8.
j'ai également fait un "simple calendrier" avec le même principe pour les vacances scolaires des trois zones, mais en lieu et place de SOMMEPROD j'ai utilisé le NB.SI.ENS qui fonctionne sur le même principe, plusieurs conditions sur une même ligne dans différentes colonnes, mais qui je crois est moins gourmande en ressource. Mais cela reste sur des plage comme FinA anecdotique !

@ bientôt

LouReeD

MERCI

BEAUCOUP

bonjour

J'ai compris sauf un truc

Comment va-t-il rechercher les dates debut A et finA dans la feuille vacance scolaire

Merci

Bonjour,

si ce n'est vous qui l'avait fait alors c'est boss_68 qui a nommé les différentes colonnes de votre tableau vacances : sélectionnez les cellules de données de la colonne Début Zone A et regardez à gauche de la barre de formule, vous devriez voir inscrit le nom de la zone sélectionnée.

@ bientôt

LouReeD

Bonjour

Nickel j'ai compris

Une autre question

comment je peux faire pour calculer le nombre de matin représenter par une couleur et reporter le résultat dans la case vide en face matin puis pareil pour apres midi puis nuit

Merci

6calendrier-10.xlsm (85.70 Ko)

Bonjour,

il faut créer une fonction personnalisée afin de compter le nombre de cellule d'une couleur particulière. A moins d'installer le pack XLP se trouvant sur le site car cette fonction est intégrée dans le pack.

Mais sinon c'est "assez" facile à coder !

@ bientôt

LouReeD

Bon, voilà une "des" solutions :

Function Nb_Color(Source As Range)
    Dim Plage As Range, Cpt As Integer, Cel As Range
    Set Plage = Range("C8:C38,L8:L38, U8:U38, AD8:AD38, AM8:AM38, AV8:AV38, BE8:BE38, BN8:BN38, BW8:BW38, CF8:CF38, CO8:Co38, CX8:CX38")
    For Each Cel In Plage
        If Cel.Interior.Color = Source.Interior.Color Then Cpt = Cpt + 1
    Next
    Nb_Color = Cpt
End Function

Attention ! Je ne pense pas qu'elle se mette à jour toute seule lors du changement de couleur d'une cellule, la touche F9 est à utiliser pour relancer les calculs, ou bien dans l'événement SelectionChange de la feuille vous pouvez mettre l'instruction : Calculate qui relancera les calculs. A moins que ce ne soit l'instruction "Volatile" qu'il faut mettre en début de code de la fonction.

Il doit y avoir une erreur sur la couleur source de l'après-midi car la formule n'en ressort qu'une !

Le fichier :

@ bientôt

LouReeD

Rechercher des sujets similaires à "calendrier perpetuel"