Calcul : Jours ouvrables

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Calcul : Jours ouvrables

Messagepar VastoMarine » 03 Mai 2011 à 14:05

Bonjour,

J'ai une date, 03/05/2011, je lui ajoute 10 jours.

Je dois calculer la date, en jours ouvrables.
Avatar de l’utilisateur
VastoMarine
Posteur habitué
Posteur habitué
 
Message(s) : 202
Inscrit(e) le : 10 Août 2005 à 08:40

Messagepar Michael DELIQUE » 03 Mai 2011 à 14:15

salut
en formules => @BusinessDays

pour le Ls c'ets un peu plus ocmpliqué
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar VastoMarine » 03 Mai 2011 à 15:03

Merci Michael,

Voici mon code en LS, mais le calcul se fait en jours calendrier...



Sub Onchange(Source As Field)

Dim Session As New NotesSession
Dim Db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim UIDoc As NotesUIDocument
Dim Doc As NotesDocument
Dim Limite As NotesDateTime
Dim RecupDate As String

Set Db = Session.CurrentDatabase
Set UIDoc = ws.CurrentDocument
Set Doc = UIDoc.Document

RecupDate = UIDoc.FieldGetText("fldMrchDateEnvoiOffres")

Set Limite = New NotesDateTime(RecupDate)

Call Limite.AdjustDay(10)

Doc.fldMrchDateRetourOffres = Limite.LocalTime

UIDoc.Refresh

End Sub
Avatar de l’utilisateur
VastoMarine
Posteur habitué
Posteur habitué
 
Message(s) : 202
Inscrit(e) le : 10 Août 2005 à 08:40

Messagepar kheori » 03 Mai 2011 à 15:30

Bonjour

Pourquoi ne pas essayer une truc du genre

Tu definis un compteur de jourouvrable (initialiser a 0)

tu fais une boucle dans laquelle tu incrementes ta variable limite de 1 tu test celle-ci sur le jour de la semaine, si tu as un samedi ou un dimanche tu n'incrementes pas ton compteur de jour ouvrable sinon tu fais un petit +1

Evidemment cela ne compte pas les jous feries mais c'est peut etre une piste .

(Il y a peut etre plus facile)
kheori
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 3
Inscrit(e) le : 22 Avr 2011 à 14:50

Messagepar Steph_ » 03 Mai 2011 à 15:46

Dernière édition par Steph_ le 03 Mai 2011 à 15:55, édité 2 fois.
Avatar de l’utilisateur
Steph_
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 354
Inscrit(e) le : 24 Nov 2005 à 20:06
Localisation : Besançon

Messagepar VastoMarine » 04 Mai 2011 à 12:14

Voici qui est fait:

@If(fldMrchDateEnvoiOffres=""; d1:=@Today; d1:=fldMrchDateEnvoiOffres);

@While (

@BusinessDays(fldMrchDateEnvoiOffres;d1;1:7) < fldMrchNbreRetourOffres;

d1 := @Adjust(d1;0;0;1;0;0;0)

);

d1 := @Adjust(d1;0;0;1;0;0;0);
d1;
Avatar de l’utilisateur
VastoMarine
Posteur habitué
Posteur habitué
 
Message(s) : 202
Inscrit(e) le : 10 Août 2005 à 08:40

Messagepar VastoMarine » 05 Mai 2011 à 08:58

Le tout fonctionne nickel:

@If(fldMrchDateEnvoiOffres=""; d1:=@Today; d1:=fldMrchDateEnvoiOffres);

@While (

@BusinessDays(fldMrchDateEnvoiOffres;d1;1:7) < fldMrchNbreRetourOffres;

d1 := @Adjust(d1;0;0;1;0;0;0)

);

fldMrchDateDay := @Weekday(@Date(fldMrchDateRetourOffres));

@If(fldMrchDateDay = 7; d1 := @Adjust(d1;0;0;3;0;0;0); d1 := @Adjust(d1;0;0;1;0;0;0));

d1;
Avatar de l’utilisateur
VastoMarine
Posteur habitué
Posteur habitué
 
Message(s) : 202
Inscrit(e) le : 10 Août 2005 à 08:40


Retour vers Développement

cron