Page 1 sur 1
Calcul : Jours ouvrables

Publié:
03 Mai 2011 à 14:05
par VastoMarine
Bonjour,
J'ai une date, 03/05/2011, je lui ajoute 10 jours.
Je dois calculer la date, en jours ouvrables.

Publié:
03 Mai 2011 à 14:15
par Michael DELIQUE
salut
en formules => @BusinessDays
pour le Ls c'ets un peu plus ocmpliqué

Publié:
03 Mai 2011 à 15:03
par VastoMarine
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

Publié:
03 Mai 2011 à 15:30
par kheori
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)

Publié:
03 Mai 2011 à 15:46
par Steph_

Publié:
04 Mai 2011 à 12:14
par VastoMarine
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;

Publié:
05 Mai 2011 à 08:58
par VastoMarine
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;