Datediff
Fermé
coin
Messages postés
50
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
25 septembre 2002
-
12 août 2002 à 15:55
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 - 13 août 2002 à 15:51
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 - 13 août 2002 à 15:51
3 réponses
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
10
13 août 2002 à 02:52
13 août 2002 à 02:52
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
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
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
13 août 2002 à 15:14
13 août 2002 à 15:14
plutot:
labelx.caption= NombreDeJoursOuvert (MaDate, MonAutreDate)
ö,ö
\_/
labelx.caption= NombreDeJoursOuvert (MaDate, MonAutreDate)
ö,ö
\_/
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
13 août 2002 à 15:14
13 août 2002 à 15:14
Par contre, gaffe au jours feries...
ö,ö
\_/
ö,ö
\_/
coin
Messages postés
50
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
25 septembre 2002
13 août 2002 à 15:19
13 août 2002 à 15:19
J'en ai marre de ce programme. Encore2 semaines et il doit etre fini.
au fait teebo, tu a le bonjour de petite mure
au fait teebo, tu a le bonjour de petite mure
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
>
coin
Messages postés
50
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
25 septembre 2002
13 août 2002 à 15:22
13 août 2002 à 15:22
T'inquiete, le plus douloureux est surement passe...
QUant a petite mure, vous bossez ensemble? C'est vrai que les questions tiraient parfois dans le meme domaine
ö,ö
\_/
QUant a petite mure, vous bossez ensemble? C'est vrai que les questions tiraient parfois dans le meme domaine
ö,ö
\_/
coin
Messages postés
50
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
25 septembre 2002
>
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
13 août 2002 à 15:33
13 août 2002 à 15:33
oui, on est dans la même boite à croissy sur seine. 2 pinces en VB .
Bon, sinon le code ne plante pas .Par contre ca donne des résultats bizarres: comme s'il n'y avait qu'un seul we dans le mois. C'est le patron qui va etre content!
Allez, je replonge en sous marin dans l'enfer de la correction des erreurs de frappe que j'ai du faire :-(
Bon, sinon le code ne plante pas .Par contre ca donne des résultats bizarres: comme s'il n'y avait qu'un seul we dans le mois. C'est le patron qui va etre content!
Allez, je replonge en sous marin dans l'enfer de la correction des erreurs de frappe que j'ai du faire :-(
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
>
coin
Messages postés
50
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
25 septembre 2002
13 août 2002 à 15:45
13 août 2002 à 15:45
Tu crois qu'ils embauchent du monde chez toi?
C'est pas pour moi, mais je connais du monde qui rame pour trouver...
ö,ö
\_/
C'est pas pour moi, mais je connais du monde qui rame pour trouver...
ö,ö
\_/
coin
Messages postés
50
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
25 septembre 2002
>
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
13 août 2002 à 15:48
13 août 2002 à 15:48
Ils peuvent toujours envoyer un courrier, comme il y a pas mal de boulot en ce moment .
site de la boite : www.Docwave.com
site de la boite : www.Docwave.com
13 août 2002 à 11:18
En tous cas merci pour ton coup de main
13 août 2002 à 14:38
13 août 2002 à 14:59
La fonction te renvoie un entier, donc tu peux en faire ce que tu veux, Label, MsgBox, memoire etc...
ö,ö
\_/
13 août 2002 à 15:12