Bonjour !

Je me suis fait beaucoup aider par un collègue pour ce code...

Il me semble tout juste, mais quand je le lance, il ne me met pas les cellules des jours fériés en couleur, je voudrais savoir où il y aurait une erreur possible.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Function JourFerie(datetraitement As Date) As Boolean
 
Dim Paques As String
Dim Pentecote As String
Dim Ascension As String
Dim an As Integer
Dim Mois As Integer
Dim jour As Integer
Dim i As Integer
Dim j As Integer
 
    'partie pour retrouver paques, ascension et pentecote (jours feries non fixes)
    an = CInt(Mid(datetraitement, 7, 4))
    Mois = 3
    jour = 23 + modulo(19 * modulo(an, 19) + 24, 30) + modulo(2 * modulo(an, 4) + 4 * modulo(an, 7) + 6 * modulo(19 * modulo(an, 19) + 24, 30) + 5, 7)
    If jour / 31 > 1 Then
        Mois = Mois + 1
        jour = jour - 31
    End If
    Paques = Format(jour & "/" & Mois & "/" & an, "dd/mm/yyyy")
    jour = jour + 8
    Mois = Mois + 1
    If jour / 31 > 1 Then
        Mois = Mois + 1
        jour = jour - 31
    End If
    Ascension = Format(jour & "/" & Mois & "/" & an, "dd/mm/yyyy")
    jour = jour + 10
    If jour / 31 > 1 Then
        Mois = Mois + 1
        jour = jour - 31
    End If
    Pentecote = Format(jour & "/" & Mois & "/" & an, "dd/mm/yyyy")
 
    'comparaison avec les jours fériés français connus
    If CStr(datetraitement) = Paques Or CStr(datetraitement) = Ascension Or CStr(datetraitement) = Pentecote _
        Or CStr(Mid(datetraitement, 1, 5)) = "01/01" Or CStr(Mid(datetraitement, 1, 5)) = "01/05" Or CStr(Mid(datetraitement, 1, 5)) = "08/05" _
        Or CStr(Mid(datetraitement, 1, 5)) = "14/07" Or CStr(Mid(datetraitement, 1, 5)) = "15/08" Or CStr(Mid(datetraitement, 1, 5)) = "01/11" _
        Or CStr(Mid(datetraitement, 1, 5)) = "11/11" Or CStr(Mid(datetraitement, 1, 5)) = "25/12" Then
        JourFerie = True
 
        For i = 7 To i = 96
        For j = 1 To j = 23
        DocXL.Parent.Sheets.Cells(i, j).Font.Color = RGB(255, 0, 0)
 
        For j = DocXL.Parent.Cells(i, 1) To DocXL.Parent.Cells(i, 96) = ""
        Next
    Else
        JourFerie = False
    End If
 
    'je converti en date
    ferie = CDate(JourFerie) 
 
End Function
Merci d'avance ^^