1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0
If IsDate(Text1.Text) Then Affiche CVDate(Text1.Text)
End If
End Sub
Private Sub Affiche(UneDate As Date)
Dim TheDate As Date, TheDateFin As Date, T As Integer, U As Integer
' 1° jour du mois proposé
TheDate = "01/" & Month(UneDate) & "/" & Year(UneDate)
Label1.Caption = "1° jour du mois proposé: " & TheDate
'verifier si le mois contient plus de 4 mardi
TheDateFin = DateAdd("m", 1, TheDate) ' ajoute 1 mois
TheDateFin = DateAdd("d", -1, TheDateFin) ' enleve 1 jour pour avoir le dernier jour du mois proposé
Label2.Caption = "Dernier jour du mois proposé: " & TheDateFin
For T = 0 To Day(TheDateFin)
If Weekday(DateAdd("d", T, TheDate)) = vbTuesday Then U = U + 1
Next T
Label3.Caption = "Nombre de mardi du mois proposé: " & U
If U < 5 Then
TheDate = DateAdd("m", 1, TheDate) ' ajoute 1 mois au 1° jour du mois suivant le mois proposé
For T = 0 To 7
If Weekday(DateAdd("d", T, TheDate)) = vbTuesday Then
Label4.Caption = "1° mardi du mois suivant le mois proposé: " & DateAdd("d", T, TheDate) ' 1° mardi du mois suivant le mois proposé
Exit For
End If
Next T
Else
For T = Day(TheDateFin) To (Day(TheDateFin) - 7) Step -1
If Weekday(CVDate(T & "/" & Month(TheDateFin) & "/" & Year(TheDateFin))) = vbTuesday Then 'dernier mardi du mois proposé
Label4.Caption = "Dernier mardi du mois proposé: " & CVDate(T & "/" & Month(TheDateFin) & "/" & Year(TheDateFin))
Exit For
End If
Next T
End If
End Sub |
Partager