Listbox

grosquik Messages postés 2 Date d'inscription mercredi 24 juillet 2002 Statut Membre Dernière intervention 13 août 2003 - 29 juil. 2002 à 15:15
cs_thitoune Messages postés 124 Date d'inscription mardi 19 février 2002 Statut Membre Dernière intervention 7 mars 2004 - 29 juil. 2002 à 17:34
bonjour tout le monde
voila mon p'tit probleme:
j'aimerais avoir dans une listebox(ou autre) le liste des semaine de l'année
genre :
semaine 1 : 01/01/99 eu 07/01/99
semaine 2 : 08/01/99 au 14/01/99
afin de pouvoir selectionner une semaine complete
si qq'un a une idée.....

1 réponse

cs_thitoune Messages postés 124 Date d'inscription mardi 19 février 2002 Statut Membre Dernière intervention 7 mars 2004 2
29 juil. 2002 à 17:34
J'ai trouvé mais je ne suis pas sur que cela te conviennes. Cela liste toutes les semaines mais si ton année commence un autre jour que lundi, il zappe et prend une semaine compléte en cherchant le lundi le plus proche. Même chose en fin d'année, il s'arrête si il peut pas faire une semaine compléte !
Private Sub Command1_Click()
Dim pasok As Boolean

s = "Semaine du "
jour = 1
fjour = 1
mois = 1
strs = CStr(jour) + "/" + CStr(mois) + "/" + Text1.Text
jr = WeekDay(strs)

While jr <> vbMonday
jr = (jr + 1) Mod 7
jour = jour + 1
Wend

fjour = jour + 7

Do
If dateok(CStr(fjour) + "/" + CStr(mois) + "/" + Text1.Text) Then
List1.AddItem s + CStr(jour) + "/" + CStr(mois) + "/" + Text1.Text + " au " + CStr(fjour) + "/" + CStr(mois) + "/" + Text1.Text
Else
If mois <> 12 Then
mois = mois + 1

fjour = 1
While WeekDay(CStr(fjour) + "/" + CStr(mois) + "/" + Text1.Text) <> vbMonday
fjour = fjour + 1
Wend
List1.AddItem s + CStr(jour) + "/" + CStr(mois) + "/" + Text1.Text + " au " + CStr(fjour) + "/" + CStr(mois) + "/" + Text1.Text
jour = fjour - 7
Else
Exit Sub
End If
End If
jour = jour + 7
fjour = fjour + 7
Loop While fjour < 365

End Sub

Function dateok(s) As Boolean
On Error GoTo pasok
WeekDay (s)
GoTo fin
pasok:
dateok = False
Exit Function
fin:
dateok = True
End Function
0
Rejoignez-nous