Rechercher : dans
Par :

Datediff

mouse, le 13 aoû 2002 à 02:52:06
 Signaler ce message aux modérateurs Revenir à la discussion

Salut, jer crois pas qu'il y ait de fonction toute faite. Mais tu peux la créer très facilement.

J'ai ecris cela, c'est un peu grossier, mais ca marche, y'a surement mieux...

NombJourOuvert c'est la fonction qui te calcule comme son nom l'indique, le nombre de jours ouvers. Donc à la place de Datediff, tu ecris NombJourOuvert

La 2eme fonction calcule le nombre de jour identique entre 2 dates (le nombre de dimanche, le nombre de lundi...)
Pour info, le dimanche a la valeur 1, le samedi a la valeur 7, c'est comme cela dans access.

Public Function NombJourOuvert(MaVieilleDate As Date, MaDateRecente As Date) As Integer
NombJourOuvert = DateDiff("d", MaVieilleDate, MaDateRecente) - NombDuJourEntreDeuxDates(MaVieilleDate, MaDateRecente, 1) - NombDuJourEntreDeuxDates(MaVieilleDate, MaDateRecente, 7)
End Function


Public Function NombDuJourEntreDeuxDates(MaVieilleDate As Date, MaDateRecente As Date, LeJour As Integer) As Integer
Dim NombreJour As Integer, i As Integer, DateCourante As Date
NombDuJourEntreDeuxDates= 0
NombreJour = DateDiff("d", MaVieilleDate, MaDateRecente)

DateCourante = MaDateRecente
For i = 0 To NombreJour
ValeurJour = Weekday(DateCourante)
If ValeurJour = LeJour Then
NombDuJourEntreDeuxDates= NombDuJourEntreDeuxDates + 1
End If
DateCourante = DateAdd("d", 1, DateCourante)
Next i