0/5 (11 avis)
Snippet vu 12 845 fois - Téléchargée 30 fois
Sub Button1_Click(sender As Object, e As EventArgs) label1.visible=true label2.visible=true dim dat as date dim semaine as integer dim semain as integer dat=(calendar1.selecteddate) semain=weekday(dat) if semain=2 then dat=dat.adddays(6) end if if semain=3 then dat=dat.adddays(5) end if if semain=4 then dat=dat.adddays(4) end if if semain=5 then dat=dat.adddays(3) end if if semain=6 then dat=dat.adddays(2) end if if semain=7 then dat=dat.adddays(1) end if semaine=datepart("ww",dat,vbmonday) label2.text=("le numero de la semaine dont la date du " & calendar1.selecteddate & " fait partie est le :").tostring label1.text=semaine End Sub
5 févr. 2004 à 18:05
dat = dat.adddays(8-weekday(dat))
il existe probablement des fonctions de la classe date pour remplacer les fonctions du vb WeekDay et DatePart
6 févr. 2004 à 10:24
Merci beaucoup Warny
6 févr. 2004 à 13:27
il n'y a pas de bug du lundi 29 ....
Il existe au moins trois règles officielles pour calculer les numéros de semaine :
1/ La première semaine commence le 1er janvier
2/ La première semaine est celle qui contient le premier jeudi de l'année
3/ La première semaine commence le premier lundi (ou dimanche, je sais plus) de l'année.
La règle la plus utilisée est celle du Jeudi (c'est une règle ISO, si, si ...). Ainsi, le Lundi 29 est en semaine 53 de l'année 2003 et le Jeudi 1 est en semaine 01 de l'année 2004
Cordialement
Bertrand
6 févr. 2004 à 13:49
par contre, dans VB, quand on récupère le numéro de semaine lié à un jour de l'année, on peut préciser la règle de calcul à appliquer.
Voir l'aide en ligne de la méthode DatePart, il existe un dernier paramètre optionnel "FirstWeekOfYearValue"
------------------------------
The FirstWeekOfYearValue argument can have one of the following settings.
Enumeration value Value Description
FirstWeekOfYear.System 0 First week of year specified in system settings
FirstWeekOfYear.Jan1 1 Week in which January 1 occurs (default)
FirstWeekOfYear.FirstFourDays 2 Week that has at least four days in the new year (complies with ISO standard 8601, section 3.17)
FirstWeekOfYear.FirstFullWeek 3 First full week in new year
------------------------
Cordialement,
Bertrand
6 févr. 2004 à 15:45
dans le titre tu parlais du 29 janvier en semaine (semeine ?) 53... ca aurait été un fameux bogue...
Mais non, c'est configurable comme l'explique bedelaitre, mais par défaut, c'est toujours le système ricain... Arg...
Y'a bien d'autres soucis pour la gestion date et heure en VB, s'en méfier surtout si son appli va être utilisée sur différents standards date et format de dates.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.