1. #1
    Membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    juillet 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Employé
    Secteur : Transports

    Informations forums :
    Inscription : juillet 2012
    Messages : 81
    Points : 67
    Points
    67

    Par défaut Rechercher le nombre de jours ouvrés entre deux dates ( le code est il bon ? )

    Bonjour à tous ,

    Je souhaite connaitre le nombre de jours ouvrés entre 2 dates "La date du jour" - "date pegged" .
    J'ai trouvé un code sur le net mais je ne sais pas l'utiliser et est ce la bonne ?
    Je vous remercie tous pour votre aide .

    Merci Cordialement
    eRIC


    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
    Function Work_Days(BegDate As Variant, EndDate As Variant) As Integer
     
     Dim WholeWeeks As Variant
     Dim DateCnt As Variant
     Dim EndDays As Integer
     
     On Error GoTo Err_Work_Days
     
     BegDate = DateValue(BegDate)
     EndDate = DateValue(EndDate)
     WholeWeeks = DateDiff("w", BegDate, EndDate)
     DateCnt = DateAdd("ww", WholeWeeks, BegDate)
     EndDays = 0
     
     Do While DateCnt <= EndDate
     If Format(DateCnt, "ddd") <> "Sun" And _
     Format(DateCnt, "ddd") <> "Sat" Then
     EndDays = EndDays + 1
     End If
     DateCnt = DateAdd("d", 1, DateCnt)
     Loop
     
     Work_Days = WholeWeeks * 5 + EndDays
     
    Exit Function
     
     Err_Work_Days:
     
     ' If either BegDate or EndDate is Null, return a zero
     ' to indicate that no workdays passed between the two dates.
     
     If Err.Number = 94 Then
     Work_Days = 0
     Exit Function
     Else
    ' If some other error occurs, provide a message.
     MsgBox "Error " &amp; Err.Number &amp; ": " &amp; Err.Description
     End If
     
    End Function

  2. #2
    Membre averti Avatar de hyperion13
    Homme Profil pro
    Calot120 - Enseignant Post Bac
    Inscrit en
    octobre 2007
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Calot120 - Enseignant Post Bac
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2007
    Messages : 235
    Points : 301
    Points
    301

    Par défaut

    Salut,
    Pourquoi ne le serait-elle pas ? Elle est
    Copiez la formule dans un Module et il vous suffira de créer une requête et de générer la fonction personnalisée Work_days
    Vous pourrez ainsi vérifier si elle est ou non fonctionnelle.

    EDIT : 16.04.2018 : elle gère les jours fériés en plus
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    GMT+4 - 21°19'18" S - 055°25'32" E
    Visiteurs, inutile de me contacter par MP.

Discussions similaires

  1. Nombre de jours ouvrés entre deux dates
    Par Pouchy dans le forum SQL
    Réponses: 7
    Dernier message: 27/04/2016, 15h27
  2. Nombre de jours ouvrés entre deux dates
    Par foxrole dans le forum SAS Base
    Réponses: 3
    Dernier message: 10/07/2013, 16h56
  3. Nombre de jours ouvrés entre deux dates
    Par johnson95 dans le forum java.util
    Réponses: 6
    Dernier message: 17/06/2009, 22h12
  4. [Dates] Nombre de jours ouvrés entre deux date
    Par meufeu dans le forum Fonctions
    Réponses: 1
    Dernier message: 31/01/2007, 17h50
  5. Réponses: 1
    Dernier message: 10/08/2006, 14h43

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