Bonsoir le forum,
à partir du super travail de @patricktoulon, je souhaite apporter une nouvelle adaptation à partir de la source suivante :
J'aimerais ajouter des dates (de congés) qui soient traitées comme des jours fériés. La liste des dates serait données dans la colonne "E" de la feuille "liste" par exemple et il faudrait prendre en compte toutes les dates de cette colonnes.
Mon idée étant d'empêcher la sélection d'une date correspondant à un jour férié, un WE, ET un jour de congé à l'ouverture du calendrier.
Quelqu'un aurait-il une astuce ?
Merci d'avance pour votre coup de pouce. Baptiste
à partir du super travail de @patricktoulon, je souhaite apporter une nouvelle adaptation à partir de la source suivante :
VB:
Private Function férié(i)
Dim dat As Date, paques As Date, ctrlJ As Object, f As Boolean
Set ctrlJ = Calendar.Controls("J" & i)
dat = DateSerial(Cbyear, Cbmonth.ListIndex + 1, ctrlJ.Caption)
paques = CDate(((Round(DateSerial(Cbyear.Value, 4, (234 - 11 * (Cbyear.Value Mod 19)) Mod 30) / 7, 0) * 7) - 6))
férié = &HE0E0E0 'couleur base
Select Case region
Case 0
[...]
Case 1
Select Case True ' Francais,French
Case dat = CDate("01/01/" & Cbyear.Value): férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Nouvel an": f = True ' nouvel an fixe
Case dat = CDate("01/05/" & Cbyear.Value): férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Fete du travail": f = True ' fete du travail fixe
Case dat = paques: férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Pâques": f = True ' paques ok calculée
Case dat = paques + 39: férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Ascension": f = True ' ascension calculée
Case dat = paques + 49: férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Pentecote": f = True ' pentecote calculée
Case dat = paques + 50: férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Lundi de Pentecote": f = True ' pentecote calculée
Case dat = CDate("08/05/" & Cbyear.Value): férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Fête de la victoire 1945": f = True ' Victoire 1945 fixe
Case dat = CDate("14/07/" & Cbyear.Value): férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Fête Nationale": f = True ' fete nationale fixe
Case dat = CDate("15/08/" & Cbyear.Value): férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Assomption": f = True ' Assomption fixe
Case dat = CDate("01/11/" & Cbyear.Value): férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Toussaint": f = True ' Toussaint fixe
'Case dat = CDate("11/11/" & Cbyear.Value): férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Armistice 1918": f = True ' Armistice 1918 fixe
Case dat = CDate("25/12/" & Cbyear.Value): férié = RGB(255, 200, 0): ctrlJ.ControlTipText = "Noël": f = True ' noel fixe
Case dat = Date: férié = vbYellow: ctrlJ.ControlTipText = "Aujourd'hui"
Case Weekday(dat, vbMonday) >= 6: f = True
End Select
Case 2
[...]
End Function
J'aimerais ajouter des dates (de congés) qui soient traitées comme des jours fériés. La liste des dates serait données dans la colonne "E" de la feuille "liste" par exemple et il faudrait prendre en compte toutes les dates de cette colonnes.
Mon idée étant d'empêcher la sélection d'une date correspondant à un jour férié, un WE, ET un jour de congé à l'ouverture du calendrier.
Quelqu'un aurait-il une astuce ?
Merci d'avance pour votre coup de pouce. Baptiste