Datediff

coin Messages postés 50 Statut Membre -  
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   -
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 Statut Membre 10
 
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 Statut Membre
 
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 Statut Membre
 
heu j'ai une question stupide: mais comment on fait pour afficher le résultat?
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793 > coin Messages postés 50 Statut Membre
 
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 Statut Membre > coin Messages postés 50 Statut Membre
 
alors je marque un truc du genre: si clique sur ce bouton alors labelx. caption = NombDejourOuvert ?
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
plutot:
labelx.caption= NombreDeJoursOuvert (MaDate, MonAutreDate)

ö,ö
\_/
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Par contre, gaffe au jours feries...

ö,ö
\_/
0
coin Messages postés 50 Statut Membre
 
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 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793 > coin Messages postés 50 Statut Membre
 
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 Statut Membre > teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention  
 
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 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793 > coin Messages postés 50 Statut Membre
 
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 Statut Membre > teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention  
 
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