recherche formule

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

recherche formule

Messagepar nicolas » 13 Nov 2003 à 11:11

Bonjour à tous. Mon problème est simple, je cherche une formule (@) permettant de récupérer le numéro de semaine correspondant à une date. Par exemple, pour le 13/10/2003 la formule retournerait la semaine n°42. Merci d´avance et bonne fin de semaine.
nicolas
 

Re: recherche formule

Messagepar PAT » 13 Nov 2003 à 12:31

Fais une recherche dans ce forum, je crois que tu trouveras ta solution (je l'y ai deja vu et je crois me rappeler que cela soulevait un certain debat car l'algorythme peut varier selon certaines conventions sur la signification du no de semaine dans l'annee ...)
PAT
 

Re: recherche formule

Messagepar polbusse » 13 Nov 2003 à 13:56

Cette fonction retourne ne n° de semaine, il n'y a pas de semaine 53, le restant des jours de l'année sont inclu ds la 52.Function RecupNumeroSemaine(dateJour As Variant) As Integer On Error Goto ReturnZero Dim dt As NotesDateTime Set dt = New notesDateTime(dateJour) RecupNumeroSemaine = Format$(dt.lslocaltime, "ww") Exit Function '// Solution qui inclu la semaine 53 ds la 52. Const Janvier = 1, Fevrier = 2, Mars = 3, Avril = 4, Mai = 5, Juin = 6 Const Juillet = 7, Aout = 8, Septembre = 9, Octobre = 10, Novembre = 11 Const Decembre = 12 Dim i%, y%, m%, d%, Semaine%, Jours% Dim aMois(12) As Integer aMois(Janvier) = 31 aMois(Fevrier) = 28 aMois(Mars) = 31 aMois(Avril) = 30 aMois(Mai) = 31 aMois(Juin) = 30 aMois(Juillet) = 31 aMois(Aout) = 31 aMois(Septembre) = 30 aMois(Octobre) = 31 aMois(Novembre) = 30 aMois(Decembre) = 31 y% = Year(dateJour) m% = Month( dateJour) d% = Day( dateJour ) If y% Mod 4 = 0 Then aMois(Fevrier) = aMois(Fevrier) + 1 End If Jours% = Weekday( Datenumber(y%, 1, 1) ) + 1 For i% = 1 To m% - 1 Jours% = Jours% + aMois(i%) Next Jours% = Jours% + d% Semaine% = Jours% / 7 If Semaine% > 52 Then Semaine% = 1 RecupNumeroSemaine = Semaine% Exit Function ReturnZero: RecupNumeroSemaine = 0 Exit Function End Function
polbusse
 

Re: recherche formule

Messagepar Earthquake » 20 Nov 2003 à 13:16

voici comment récupérer le numéro de la semaine de l'année courantepjannee = premier jour de l'année calendaire.pjsemaine = Lundi de la prremiere semaine de l'année.86400 = 24 heures * 3600 secondes/heure/7 nombre de jours dans 1 semaine+1 = car la premiere semaine n'est pas la semaine 0.pjannee:=@Date(@Year(Semaine);1;1);pjsemaine:=@Adjust( pjannee ; 0 ; 0 ; -( @Weekday( pjannee ) -2 ) ; 0 ; 0 ; 0 );"Semaine "+@Text(@Round(@Integer((@Date(Semaine)-pjsemaine)/86400/7))+1)
Earthquake
 


Retour vers Développement

cron