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
bonjour, voila ma question:
ss VB, j'utilise la fonction datediff pour faire une différence entre 2 dates: ok. Ce que je voudrais faire c'est une différence entre 2 dates sans tenir compte des week end, c'est a dire qu'il me donne le nb de jours de travail effectif.
y'aurait moyen?

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
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
0
coin Messages postés 50 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 25 septembre 2002
13 août 2002 à 11:18
dis donc mouse, tu as de droles d'occupations à 3h-10 du mat :-).tu dors jamais?
En tous cas merci pour ton coup de main
0
coin Messages postés 50 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 25 septembre 2002
13 août 2002 à 14:38
heu j'ai une question stupide: mais comment on fait pour afficher le résultat?
0
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 à 14:59
Le resultat de quoi?
La fonction te renvoie un entier, donc tu peux en faire ce que tu veux, Label, MsgBox, memoire etc...

ö,ö
\_/
0
coin Messages postés 50 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 25 septembre 2002 > 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:12
alors je marque un truc du genre: si clique sur ce bouton alors labelx. caption = NombDejourOuvert ?
0
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
plutot:
labelx.caption= NombreDeJoursOuvert (MaDate, MonAutreDate)

ö,ö
\_/
0
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
Par contre, gaffe au jours feries...

ö,ö
\_/
0
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
J'en ai marre de ce programme. Encore2 semaines et il doit etre fini.
au fait teebo, tu a le bonjour de petite mure
0
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
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

ö,ö
\_/
0
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
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 :-(
0
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
Tu crois qu'ils embauchent du monde chez toi?
C'est pas pour moi, mais je connais du monde qui rame pour trouver...

ö,ö
\_/
0
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
Ils peuvent toujours envoyer un courrier, comme il y a pas mal de boulot en ce moment .
site de la boite : www.Docwave.com
0