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

VBA Access Discussion :

appel de fonction créée pour les jours fériés?


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    février 2009
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 188
    Points : 89
    Points
    89
    Par défaut appel de fonction créée pour les jours fériés?
    bonjour,
    j'ai récupérer ce code pour générer les jours fériés donc.

    j'ai mis ce code dans un module pour qu'on puisse appeler cette fonction par la suite .... mais justement

    comment faire pour appeler cette fonction ... je n'ai pas encore bien compris le procédé !?

    exemple j'ai une table vide TJFerie prête à recevoir les jours fériés dans le champ JFerie

    imaginons un formulaire avec un textebox où l'on entre l'année souhaitée
    un bouton qui en cliquant appellerait cette fonction et alimenterait la table TJFerie avec les jours fériés générés pour l'année chosie !!!?

    merci de votre aide

    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
    Function EstFerie(ByVal QuelleDate As Date) As Boolean
    Dim anneeDate As Integer
    Dim joursFeries(1 To 11) As Date
    Dim I As Integer
      anneeDate = Year(QuelleDate)
     
      joursFeries(1) = DateSerial(anneeDate, 1, 1)
      joursFeries(2) = DateSerial(anneeDate, 5, 1)
      joursFeries(3) = DateSerial(anneeDate, 5, 8)
      joursFeries(4) = DateSerial(anneeDate, 7, 14)
      joursFeries(5) = DateSerial(anneeDate, 8, 15)
      joursFeries(6) = DateSerial(anneeDate, 11, 1)
      joursFeries(7) = DateSerial(anneeDate, 11, 11)
      joursFeries(8) = DateSerial(anneeDate, 12, 25)
     
      joursFeries(9) = fLundiPaques(anneeDate)
      joursFeries(10) = joursFeries(9) + 38 ' Ascension = lundi de Paques + 38
      joursFeries(11) = joursFeries(9) + 49 ' Lundi Pentecôte = lundi de Paques + 49
     
      For I = 1 To 11
        If QuelleDate = joursFeries(I) Then
          EstFerie = True
          Exit For
        End If
      Next
    End Function
     
    Private Function fLundiPaques(ByVal Iyear As Integer) As Date
            'Adapté de +ieurs scripts...
            Dim L(6) As Long, Lj As Long, Lm As Long
     
            L(1) = Iyear Mod 19: L(2) = Iyear Mod 4: L(3) = Iyear Mod 7
            L(4) = (19 * L(1) + 24) Mod 30
            L(5) = ((2 * L(2)) + (4 * L(3)) + (6 * L(4)) + 5) Mod 7
            L(6) = 22 + L(4) + L(5)
     
            If L(6) > 31 Then
                    Lj = L(6) - 31
                    Lm = 4
            Else
                    Lj = L(6)
                    Lm = 3
            End If
     
            ' Lundi de Pâques = Paques + 1 jour
            fLundiPaques = DateAdd("d", 1, (Lj & "/" & Lm & "/" & Iyear))
     
    End Function

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    juillet 2004
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2004
    Messages : 533
    Points : 551
    Points
    551
    Par défaut
    Bonjour,
    tes fonctions te permettent juste de dire si le jour que tu passes en parametre est un jour férié ou no

    Si tu veux faire une liste sur l'année, tu vas de voir faire une boucle du 1ier Janvier au 31 décembre et à chaque fois faire passer la date par ta fonction pour savoir
    si la fonction retourne True alors tu alimentes ta date dans la tables des jours fériés

    Pour les utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    'Test du jour férié ou non
    if estFerie(dateTest) then 
             msgbox "Ce jour est férié"
    else
             msgbox "Ce jour n'est pas férié"
    endif
     
    'Recherche du Lundi de paques
    msgbox "Pour l'année 2009, le Lundi de Pâques tombe le " & fLundiPaques(2009)

Discussions similaires

  1. macro pour éviter les jours fériés
    Par charlesmagnus dans le forum Excel
    Réponses: 1
    Dernier message: 12/02/2014, 12h11
  2. 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, 12h44
  3. [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, 09h41
  4. Les jours fériés.
    Par davcha dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/01/2006, 15h03
  5. Des fonctions OGL pour les images de format usuel ?
    Par jamal24 dans le forum OpenGL
    Réponses: 3
    Dernier message: 31/05/2003, 22h59

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