' ***********************************************************************
' *****                                                             *****
' *****        CODE PierreP56 : http://tatiak.canalblog.com/        *****
' *****                                                             *****
' ***********************************************************************

'Liste des Fériés du Quebec : 
'Substituer la "Function TFeries" dans le module "Time" par le code suivant :

Function TFeries(Annee As Integer) As Variant    ' QUEBEC
Dim Jf As Variant, Ttk(13, 1) As Variant, d0 As Date, i As Integer, Paq As Date

    Jf = Array("Jour de l'An", "Vendredi Saint", "Fête de la Reine", _
               "Fête du Canada", "Fête du Travail", "Action de grâce", _
               "Jour du Souvenir ", "Noël", "Lendemain de Noël", "Jour de l'An")
                        
    For i = 0 To 9
        Ttk(i, 0) = Jf(i)
    Next i
    
    Ttk(0, 1) = DateSerial(Annee, 1, 1)                    ' Nouvel An
        d0 = DateSerial(Annee, 4, ((234 - 11 * (Annee Mod 19)) Mod 30))
        i = (d0 - DateSerial(1899, 12, 31)) / 7
        Paq = CDate(Math.Round(i) * 7 - 6)                 ' Pâques
    Ttk(1, 1) = DateAdd("d", -2, Paq)                      ' Vendredi Saint (CA) 2j avant Pâques
    Ttk(2, 1) = DateSerial(Annee, 5, 25 - Weekday(DateSerial(Annee, 5, 25), 3)) ' Fête de la Reine(CA)
    Ttk(3, 1) = DateSerial(Annee, 7, 1)                    ' Fête du Canada (CA)
        i = Weekday(DateSerial(Annee, 9, 1) - 1, 2)
    Ttk(4, 1) = DateSerial(Annee, 9, 1) - i + 7            ' Fête du Travail (CA)
        i = Choose(Weekday(DateSerial(Annee, 10, 1)), 9, 8, 14, 13, 12, 11, 10)
    Ttk(5, 1) = DateSerial(Annee, 10, i)                   ' Action de grâce - Thanksgiving(CA)
    Ttk(6, 1) = DateSerial(Annee, 11, 11)                  ' Armistice/Jour du Souvenir
    Ttk(7, 1) = DateSerial(Annee, 12, 25)                  ' Noël
    Ttk(8, 1) = DateAdd("d", 1, Ttk(7, 1))                 ' L'Après Noël (CA)
    Ttk(9, 1) = DateSerial(Annee + 1, 1, 1)                ' Nouvel An Y+1
    TFeries = Ttk
End Function