Page 1 sur 1

comparaison de date en LS

MessagePublié: 04 Mai 2010 à 16:42
par lebanner
Bonjour a tous,

Je cherche à retrouver le nombre de jour entre deux dates. Voici le code :
Code : Tout sélectionner
recupdate1 = Clng(Format(datedujour, "yyyymmdd"))
recupdate2 = Clng(Format(doc.ChgDate_mp(0), "yyyymmdd"))
      
result = recupdate2 - recupdate1


exemple :
recupdate1 = "20100504"
recupdate2 = "20100510"
Il me trouve 6 , mais je n'arrive pas à faire en sorte qu'il ne compare que sur les jours ouvrables.

Est ce que quelqu'un aurait-il une idée simple ?

J'ai regarder sur le forum, j'ai essayé pleins de chose mais rien.
J'ai également regardé sur martinscott.com mais je n'y arrive pas.

En @formula c'est simple mais en LS je galère un peu.

Merci d'avance

Cordialement

MessagePublié: 04 Mai 2010 à 20:51
par Michael DELIQUE
salut

pour les jours ouvrables ya pas de formules, faut le coder toit même !

MessagePublié: 05 Mai 2010 à 10:05
par lebanner
OK, merci

Cordialement

MessagePublié: 05 Mai 2010 à 10:10
par Michael DELIQUE
re,

regarde ce bout de code s'il t'aiderais pas

Code : Tout sélectionner
   'recupere le nombre de jour calendaire
   CptNBDayOuvre = (Cdbl(Datevalue(Ddate))-Cdbl(Datevalue(Fdate)))+1
   nbStartDay = Weekday(Cdbl(Datevalue(Fdate)))  Mod 7  ' samedi=0, dimanche=1, lundi=2, mardi=3, mercredi=4, jeudi=5, vendredi=6..
   nbEndDay = Weekday(Cdbl(Datevalue(Ddate))) Mod 7
   CptNBDayOuvre = 5 + ((CptNBDayOuvre - nbEndDay + nbStartDay - 8) * 5 / 7)  ' nb de jours dans des semaines complètes
   If nbEndDay>1 Then
     ' additionne le nombre de jours depuis le debut de la semaine jusqu'au dernier jour travaillé
      CptNBDayOuvre=CptNBDayOuvre -1+ nbEndDay
   End If   
   If nbStartDay>2 Then
   ' soustrait le nombre de jours non travaillés depuis le début de semaine
      CptNBDayOuvre=CptNBDayOuvre+2- nbStartDay
   End If