IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Détecter les jours fériés


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut Détecter les jours fériés
    Bonjour le forum!

    J'ai récupéré cette fonction sur le net, malheureusement, je voudrais qu'il me donne les samedis en non fériés sauf si il est férié!

    Voici:
    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
    Option Explicit
     
    Function estferie(cellule As Range) As Boolean
        'Vrai si la valeur courante correspond a un jour férié
        Application.Volatile
        Dim Y As Long, i As Long, SylvesterDay As Date, SpecD, b As Long
        Y = Year(cellule.Value)
        b = Abs((Y Mod 4 = 0 And Y Mod 100 <> 0) Or (Y Mod 400 = 0))
        SylvesterDay = DateSerial(Y, 1, 1) - 1
        i = EASTER(Y) - SylvesterDay - b
        'Pour la France (1 Mai = 121em jour d'une année NON-bissextile)
        SpecD = Array(1 - b, 121, 128, 195, 227, 305, 315, 359, i + 1, i + 39, i + 50)
        Y = cellule.Value - SylvesterDay - b
        For i = 0 To UBound(SpecD)
            estferie = Y = SpecD(i)
            If estferie Then Exit For
        Next
    End Function
    Function EASTER(Yr As Long) As Long
        '*Dans la fonction originale, les données étaient de type Integer*
        Dim Century As Long, Sunday As Long, Epact As Long, N As Long
        Dim Golden As Long, LeapDayCorrection As Long, SynchWithMoon As Long
        Golden = (Yr Mod 19) + 1
        Century = Yr \ 100 + 1
        LeapDayCorrection = 3 * Century \ 4 - 12
        SynchWithMoon = (8 * Century + 5) \ 25 - 5
        Sunday = 5 * Yr \ 4 - LeapDayCorrection - 10
        Epact = (11 * Golden + 20 + SynchWithMoon - LeapDayCorrection) Mod 30
        If Epact < 0 Then Epact = Epact + 30
        If (Epact = 25 And Golden > 11) Or Epact = 24 Then Epact = Epact + 1
        N = 44 - Epact
        If N < 21 Then N = N + 30
        N = N + 7 - ((Sunday + N) Mod 7)
        EASTER = DateSerial(Yr, 3, N)
    End Function
    et la formule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =OU(JOURSEM(A3;2)>5;estferie(A3))
    Merci!

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Oups!

    autant pour moi!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =OU(JOURSEM(A3;2)>6;estferie(A3))
    a peine la question posé, je trouve la solution!

    Enfin si ça peu servir!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL2005] Exclure les jours fériés
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/06/2009, 14h41
  2. Backup d'une BD (sauf les jours fériés)
    Par yves_belanger dans le forum Administration
    Réponses: 1
    Dernier message: 20/01/2009, 09h03
  3. problème pour enlevé les jours fériés
    Par titi67 dans le forum Général VBA
    Réponses: 2
    Dernier message: 12/05/2007, 11h44
  4. [Dates] Gestion d'un calendrier avec les jours fériés
    Par maximenet dans le forum Langage
    Réponses: 4
    Dernier message: 05/05/2006, 08h41
  5. Les jours fériés.
    Par davcha dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/01/2006, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo