h_adil
Messages postés231Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention10 juin 2009
-
26 mai 2005 à 14:49
labelsse
Messages postés1Date d'inscriptionlundi 2 novembre 2009StatutMembreDernière intervention 2 novembre 2009
-
2 nov. 2009 à 14:26
j'ai essayé de creer un programme qui me donne la date de fin exacte( qui prend en compte que les jours ouvrables ) d'une tache
par exemple j'ai une date de debut qui est le 15/05/2005 est une durée de 15 jour. lorsuqe je faite dateadd("d",15/05/2005,15), il me retourne le 30/05/2005 logique mais mois je veut qu'il prend en compte que les jours ouvrable "du lundi jusqua vendredi" cela dit qu'il doit me retourner la date de fin "03/06/2005"
merci
programation .....
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 26 mai 2005 à 20:45
Salut,
1 - petite précision linguistique et juridique : les jours ouvrables sont tous les jours de la semaine sauf le dimanche et les jours ouvrés, ça dépend des professions quoique en général c'est du lundi au vendredi. Mais faut bien reconnaitre que tout le monde s'y perd tellement il y a de cas particuliers.
2 - ta tâche commence un dimanche (si si, c'est le calendrier de La Poste qui m'a dit que le 15/05/2005 était un dimanche, quel délateur quand même ! )
3 - je crois que la meilleure méthode est celle de EBArtSoft
4 - pas la peine de définr : Dim lun, mar, mer, jeu, ven, sam, diman car la fonction WeekDay peut se charger de ça.
5 - un tit bout de code qui peut peut-être te mettre sur la voie :
Dim date_debut As Date
Dim date_fin As Date
Dim duree As Integer
Dim i As Integer
Dim j As Integer
date_debut = CDate("15/05/2005")
duree = 15
Do While i < duree
date_fin = DateAdd("d", j, date_debut)
If Weekday(date_fin) > 1 And Weekday(date_fin) < 7 Then
i = i + 1
End If
j = j + 1
Loop
MsgBox date_fin
Il y a peut-être mieux mais ça a l'air de fonctionner quoique, si tes tâches commencent un samedi ou un dimanche, ces jours ne seront pas comptés.
-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
h_adil
Messages postés231Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention10 juin 2009 26 mai 2005 à 15:14
franchement je sais pas comment faire et je suis bloqué ici
Dim nbr, i As Integer
Dim lun, mar, mer, jeu, ven, sam, diman
nbr = InputBox()
lun = 1
mar = 2
mer = 3
jeu = 4
ven = 5
sam = 6
diman = 7
h_adil
Messages postés231Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention10 juin 2009 26 mai 2005 à 15:45
j'aurais comme données une date de debut d'une tache et la durée de celle ci "la tache"
je veut a la fin avoir la date de fin excate c'est a dire qui ne prend pas en compte "dans un premier temps " le samedi et le dimanche cela dite que les jours ouvré
et après s' il me reste du temps je fairais la meme chose pour qu'il prend pas en compte samedi, dimanche et les jours feriers
je pense que l'idée de faire une boucle est bonne mais je connais pas le syntaxe
merci conradd
programation .....
Conradd
Messages postés37Date d'inscriptionvendredi 3 décembre 2004StatutMembreDernière intervention17 septembre 2007 26 mai 2005 à 16:00
Dans ce cas, si tu divises 15/5, tu obtiens 3.
Tu ajoutes 3*2 (3 samedi et dimanche) à tes 15 jours de travail, tu obtiens 21.
Tu fais DateAdd("d","21","13/05/2005") pour Vendredi 13 mai 2005, tu obtiens 03/06/2005
Si ta division ne tombe pas juste, tu prends la partie entière que tu multiplies par 2 et tu rajoutes 1 jour pour la partie décimale si tu ne veux pas te prendre la tête avec les heures
h_adil
Messages postés231Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention10 juin 2009 27 mai 2005 à 10:10
bonjour ,
merci conradd, et merci canislupus pour votre aide.
votre solution canislupus est bonne car il fonctionne dans mon programme.
personnellement je devellope une application sous access pour visualiser un planning gantt. et la je suis a la fin de mon projet grace a vous, merci, merci.
adil
labelsse
Messages postés1Date d'inscriptionlundi 2 novembre 2009StatutMembreDernière intervention 2 novembre 2009 2 nov. 2009 à 14:26
Bonjour,
j'aimerais avoir le code à taper sur vb de la fonction SERIE.JOUR.OUVRE de excel svp.
Cette discussion se rapproche beaucoup de ce que je cherche.
J'aimerai donc qu'en entrant une date de début et une durée, il me calcule la date de fin en prenant pas en compte les samedis, dimanche et jour férié.
Merci d'avance de votre aide