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

IHM Discussion :

Calcul jours ouvrable [AC-2010]


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut Calcul jours ouvrable
    Bonjour à vous,

    J'ai besoin de calculer le nombre de jrs ouvrable, à partir de deux dates "début" et "fin" Je tente d'utiliser le code fournit sur la FAQ mais il me manque quelque chose . J'ai inséré le code dans un module et créé les 3 champs prévu selon ce que j'ai "décodé" mais voilà mon "ignorance" me rattrape... J'ai inclus mon petit démo...

    Merci pour votre aide!
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 457
    Points
    3 457
    Par défaut
    Bonjour Rickhq,

    Tout ce qui te manque est un événement pour déclencher le code! J'ai ajouté un bouton qui déclenche le code regarde ce que ça donne. Cependant fait attention à la manière de nommer. Tu ne peux reprendre Work_Days comme nom de fonction et de contrôle, ce n'est pas bon.

    De plus les jours fériés français ne sont pas tout à fait les même que les nôtres. Un exemple: la fête du travail est le premier mai en France, nous c'est le premier lundi de septembre.

    Bonne journée
    Fichiers attachés Fichiers attachés
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Tu peux aussi jeter un œil ici : http://claudeleloup.developpez.com/t...plic-ploc/#LIV
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  4. #4
    Membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    utiliser le code suivant :
    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    Function Work_Days(BegDate As Variant, EndDate As Variant, _
                       Optional bAvecJFerie As Boolean = True) As Variant
        Dim dt As Date
       Dim temp As Date
     
    On Error GoTo Work_Days_Error
        If IsNull(BegDate) Or IsNull(EndDate) Then Err.Raise vbObjectError + 1
        If Not IsDate(BegDate) Or Not IsDate(EndDate) Then Err.Raise vbObjectError + 2
        If BegDate > EndDate Then
            temp = EndDate
            EndDate = BegDate
            BegDate = temp
            temp = -1
        End If
     
     
        dt = BegDate
        Work_Days = 0
        While dt <= EndDate
            If DatePart("w", dt, vbMonday) < 6 And IIf(bAvecJFerie, Not EstFerie(dt), True) Then
                Work_Days = Work_Days + 1
            End If
            dt = DateAdd("d", 1, dt)
        Wend
     
        If temp = -1 Then Work_Days = -Work_Days
     
        Exit Function
     
    Work_Days_Error:
        Select Case Err.Number
            Case vbObjectError + 1: Work_Days = "Les 2 dates sont obligatoires."
            Case vbObjectError + 2: Work_Days = "Format de date incorrect."
            Case Else: Work_Days = Err.Description
        End Select
    End Function
     
     
    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 Pâques + 38
      joursFeries(11) = joursFeries(9) + 49 ' Lundi Pentecôte = lundi de Pâques + 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 plusieurs 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

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    Merci à vous trois,

    Je n'ai jamais été aussi bien servi... Tout fonctionne et les tutos me seront bien utile!!!

    Au plaisir!!!

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

Discussions similaires

  1. [A-03] Calculer jours ouvrables à partir d'1 date
    Par MaryR dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 28/01/2009, 21h39
  2. calcul jours ouvrables
    Par Nadgaste dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 14/01/2009, 14h04
  3. calcul jours ouvrables access
    Par laurent.G dans le forum Access
    Réponses: 3
    Dernier message: 21/07/2006, 16h14
  4. Calcul jours ouvrables (Samedi compris)
    Par priest69 dans le forum Access
    Réponses: 9
    Dernier message: 29/10/2005, 00h35
  5. Calcul Jours Ouvrables
    Par beurnoir dans le forum Access
    Réponses: 8
    Dernier message: 26/10/2005, 15h53

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