Sub Colorie_Fériés()
'MJ
On Error Resume Next
'Stop
Dim JAT As Variant
jours_férié_fixes = Array("01/01", "01/05", "08/05", "14/07", "15/08", "01/11", "11/11", "25/12")
'Trouve les jours fériés fixes
For n = 0 To 7
JAT = jours_férié_fixes(n)
Columns("B:B").Select
Selection.Find(What:=JAT, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Colorie_Jour
Next
'Jour fériés mobiles issu de:
'http://xcell05.free.fr/pages/form/dateheure.htm
'- Lundi de Pâques :
'=FRANC((JOUR(MINUTE(A/38)/2+55)&"/4/"&A)/7;)*7-5
'- Jeudi de l'Ascension :
'=FRANC((JOUR(MINUTE(A/38)/2+55)&"/4/"&A)/7;)*7+33
'- Lundi de Pentecôte :
'=FRANC((JOUR(MINUTE(A/38)/2+55)&"/4/"&A)/7;)*7+44
'Ajoute feuille pour calculer le lundi de pâques
Sheets.Add
'Stop
'Entrez l'année à prende en compte (ici l'année en cours,
'modifier now si une autre année ou faire référence à une cellule de la feuille)
ActiveCell = Year(Now)
ActiveCell.Offset(0, 1) = "=DOLLAR((DAY(MINUTE(RC[-1]/38)/2+55)&""/4/""&RC[-1])/7,)*7-5"
Lundi_Paques = Format(CDate(Range("B1")), "dd/mm")
Jeudi_Ascension = Format(CDate(Range("B1")) + 38, "dd/mm")
Lundi_Pentecote = Format(CDate(Range("B1")) + 49, "dd/mm")
Application.DisplayAlerts = False
'Supprime feuille ajoutée
ActiveSheet.Delete
Application.DisplayAlerts = True
'Stop
'Trouve les jours fériés mobiles
For n = 0 To 2
Jours_Fériés_Mobiles = Array(Lundi_Paques, Jeudi_Ascension, Lundi_Pentecote)
JAT = Jours_Fériés_Mobiles(n)
Columns("B:B").Select
Selection.Find(What:=JAT, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Colorie_Jour
Next
Range("A2").Select
End Sub
Sub Colorie_Jour()
'MJ: Utiliser l'enregistreur de macros en mode relatif pour colorier la zone à prendre en compte et sa couleur
ActiveCell.Range("A1:C2").Select
With Selection.Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End Sub