Calendrier mise en forme conditionnelle

Bonjour

Plusieurs demandes:

1. J'aimerai griser les cases correspondant aux jours fériés qui ne tombent pas toujours le même jour ( exemple lundi de Pâques, pentecôte...) de manière automatique car j'ai une case (ref de la case en question "CalendrierAnnee") sur une autre page qui correspond à l'année et dès que je la modifie mes jours changent automatiquement. Et j'aimerai que les jours fériés se grisent automatiquement.

2. J'ai mis une valeur conditionnelle sur ma dernière ligne du tableau seulement pour les samedi et dimanche ca se fait bien c'est à dire que la case reste grise et non rouge par contre pour les jours fériés (1er mai par exemple) ca reste en rouge, chose que je voudrais modifier pour que la case reste en gris.

Voici en PJ, l'exemple pour le mois de mai

Auriez vous une solution

Merci

10version-test.xlsx (24.60 Ko)

Bonsoir,

personnellement, chauvin comme je suis, je vous conseillerais SPASME !

Une des applications disponible sur ma page de téléchargement :

soit dans ma signature, soit sous mon avatar "Mes applications"

C'est un planning qui autorise jusqu'à 13 "position/activité" plus celle qui permet d'effacer, sur un calendrier annuel de treize mois (je crois...). Une feuille permet de faire un récap quantitatif des différentes activités en fonction des différents personnel.

Il est relativement simple

Sinon en plus compliquer il y a APACHES !

@ bientôt

LouReeD

Salut Nanou, LouReeD,

voici la première demande : la mise en gris des jours fériés mobiles.

La macro, à coller dans le module de la feuille concernée, réagit à un changement en [B1] ou [AH1].

Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim tMois(), tCongés()
tMois = Array("", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")
'
If Not Intersect(Target, Union(Range("B1"), Range("AH1"))) Is Nothing Then
    For x = 1 To 12
        If [B1] = tMois(x) Then iMois = x
        Exit For
    Next
    iY = [AH1]      'calcule Pâques,Ascension, Pentecôte de l'année
    Nb = (iY Mod 19) + 1
    Epacte = (11 * Nb - (3 + Int(2 + Int(iY / 100)) * 3 / 7)) Mod 30
    For k = 14 To 18 Step 2
        PLune = DateSerial(iY, 4, 19) - ((Epacte + 6) Mod 30) - IIf(Epacte = 24 Or Epacte = 25, 1, 0)
        iIdx = IIf(k = 14, 9, IIf(k = 16, 47, 58))
        PLune = PLune - Weekday(PLune) + iIdx
        ReDim Preserve tCongés(k + 1)
        tCongés(k) = Day(PLune)
        tCongés(k + 1) = Month(PLune)
    Next
    '
    For x = 3 To Choose(iMois, 31, IIf([AH1] Mod 4 = 0, 29, 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
        For w = 0 To 18 Step 2
            If x - 2 = tCongés(w) And iMois = tCongés(w + 1) Then
                Range(Chr(64 + x) & "2:" & Chr(64 + x) & 38).Interior.Color = RGB(191, 191, 191)
                Exit For
            End If
        Next
    Next
End If
'
End Sub

A+

Rechercher des sujets similaires à "calendrier mise forme conditionnelle"