Page 1 sur 1

Calcul : Jours ouvrables

MessagePublié: 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.

MessagePublié: 03 Mai 2011 à 14:15
par Michael DELIQUE
salut
en formules => @BusinessDays

pour le Ls c'ets un peu plus ocmpliqué

MessagePublié: 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

MessagePublié: 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)

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

MessagePublié: 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;

MessagePublié: 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;