calcul sur des dates

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

calcul sur des dates

Messagepar lebanner » 16 Sep 2010 à 10:06

Bonjour a tous,

J'ai une date x et je souhaite lui affecter 24H de plus donc une journée. Voici ce que j'ai fais :
@Adjust( Date_mar ; 0 ; 0 ; 1 ; 0 ; 0 ; 0 )

Par contre, je ne veux pas prend en compte les WE.

est ce qu'il serait assez facile de mettre en place cette solution ?
est ce que vous auriez des infos, des morceaux de codes ou autre pour m'aider ?

J'ai regardé sur le forum et sur MartinScott, mais j'ai pas vraiment trouvé l'info dont j'ai besoin ou alors il faut que j'aille chercher un autre café !!! :(

Merci d'avance
Cordialement.
Dernière édition par lebanner le 17 Sep 2010 à 07:18, édité 1 fois.
lebanner
Roi des posts
Roi des posts
 
Message(s) : 683
Inscrit(e) le : 19 Juin 2008 à 09:43
Localisation : Lille

Messagepar nemrod93 » 16 Sep 2010 à 10:18

Bonjour,

Tu as regardé du côté de @WeekDay?
cdlt

Alain

On ne voit que ce qu'on veut voir, et on trouve rarement si on ne cherche pas
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar Michael DELIQUE » 16 Sep 2010 à 10:19

salut

regarde ici si tu ne trouve aps ton bonheur => https://www.martinscott.com/DesignLibra ... count=5000
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 Bidouille » 16 Sep 2010 à 14:54

@Michael

Hé hé....
j'aurais eu la meme reaction !! ;-)
Ce site est une mine
Bidouille

8) Le farniente est une merveilleuse occupation. Dommage qu'il faille y renoncer pendant les vacances, l'essentiel étant alors de faire quelque chose. 8)
Pierre Daninos
Avatar de l’utilisateur
Bidouille
Roi des posts
Roi des posts
 
Message(s) : 691
Inscrit(e) le : 10 Déc 2008 à 18:14
Localisation : Sud Ouest

Messagepar Michael DELIQUE » 16 Sep 2010 à 15:10

le Martin Scott est un grand classique !

c'est un membre du pénumbra si je ne me trompe
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 Bidouille » 16 Sep 2010 à 15:47

Tout à fait Michael

http://www.penumbra.org/index-1.htm

dans le bandeau de gauche ;-)
Bidouille

8) Le farniente est une merveilleuse occupation. Dommage qu'il faille y renoncer pendant les vacances, l'essentiel étant alors de faire quelque chose. 8)
Pierre Daninos
Avatar de l’utilisateur
Bidouille
Roi des posts
Roi des posts
 
Message(s) : 691
Inscrit(e) le : 10 Déc 2008 à 18:14
Localisation : Sud Ouest

Messagepar lebanner » 17 Sep 2010 à 07:09

Bonjour,

Finalement, je suis parti en LS

Voici ce que j'ai fais :
Code : Tout sélectionner
Dim recupdate As New NotesDateTime (doc.Date_mar(0))
Call recupdate.AdjustDay(1)
recupval = Weekday(recupdate)
If recupval = "1" Or recupval = "7" Then
      Call recupdate.AdjustDay(1)
      recupval = Weekday(recupdate)
      If recupval = "1" Or recupval = "7" Then
         Call recupdate.AdjustDay(1)
      End If
End If


et une erreur "type mismatch" sur cette ligne :
Code : Tout sélectionner
recupval = Weekday(recupdate)


le code est brut de fonderie, il sera amélioré après

Merci d'avance

Cordialement
lebanner
Roi des posts
Roi des posts
 
Message(s) : 683
Inscrit(e) le : 19 Juin 2008 à 09:43
Localisation : Lille

Messagepar lebanner » 17 Sep 2010 à 07:12

Je viens de trouver la solution :

j'ai rajouté un .dateOnly.

ligne correcte :
Code : Tout sélectionner
recupval = WeekDay(recupdate.DateOnly)


Je vous laisse je dois aller me chercher un caffé.

Ciao
lebanner
Roi des posts
Roi des posts
 
Message(s) : 683
Inscrit(e) le : 19 Juin 2008 à 09:43
Localisation : Lille

Messagepar LSong » 17 Sep 2010 à 07:15

Code : Tout sélectionner
   Dim recupdate As New NotesDateTime (Now)
   Dim recupval As Integer
   Call recupdate.AdjustDay(1)
   recupval = Weekday(recupdate.DateOnly)
   While recupval = "1" Or recupval = "7"
      Call recupdate.AdjustDay(1)
      recupval = Weekday(recupdate)
   Wend


ca marchera mieux et un while est tout de meme plus élégant
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar lebanner » 17 Sep 2010 à 07:17

Voici le code final :
Code : Tout sélectionner
   Dim recupval As Integer
   Dim recupdate As New NotesDateTime (doc.Date_mar(0))
   Call recupdate.AdjustDay(1)
   recupval = Weekday(recupdate.DateOnly)
   If recupval = "7" Then
      Call recupdate.AdjustDay(2)   
   Elseif recupval = "1" Then
      Call recupdate.AdjustDay(1)
   End If


J'ai pas pensé au while, merci Lsong

Bonne journée
Cordialement
lebanner
Roi des posts
Roi des posts
 
Message(s) : 683
Inscrit(e) le : 19 Juin 2008 à 09:43
Localisation : Lille


Retour vers Développement