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 42 43 44 45 46 47 48 49 50 51 52 53
| Option Compare Database
Option Explicit
Dim dict As Object 'déclaration de l'objet Dictionary
Private Sub Form_Load()
On Error GoTo gestion_err
Set dict = CreateObject("Scripting.Dictionary") 'Initialisation de l'objet Dictionary
Dim inTime As Integer
Dim strTime As String, strHeure As String, strMinute As String
With dict
For inTime = 0 To 1410 Step 30 ' il y a 1440 minutes dans une journée mais on ne veut pas l'heure 24:00
strHeure = Int(inTime / 60) 'Correspond à l'heure
strMinute = inTime Mod 60 'Correspond aux minutes (0 ou 30)
strTime = Format(strHeure, "00") & ":" & Format(strMinute, "00") 'Format l'heure au format désirée
.Add strTime, inTime ' Ajoute la clé du dictionary qui sera "15:00" et la valeur qui sera le nombre de minutes depuis 0
Next inTime
End With
Sortie:
Exit Sub
gestion_err:
MsgBox Err.Description & Chr(13) & "Numéro de l'erreur : " & Err.Number & " dans la sub Form_Load!"
Resume Sortie
End Sub
Private Sub Form_Timer()
On Error GoTo gestion_err
Dim strAlerte As String
strAlerte = Format(Now, "hh:mm") 'Inscrit l'heure dans la variable à toutes les minutes
If dict.Exists(strAlerte) Then: MsgBox "Il est " & strAlerte & Chr(13) & "Nous sommes à " & dict(strAlerte) & " minutes de l'heure 0" 'Affiche le MsgBox si on est aux heures ou heures et 30 minutes
Sortie:
Exit Sub
gestion_err:
MsgBox Err.Description & Chr(13) & "Numéro de l'erreur : " & Err.Number & " dans la sub Form_Timer!"
Resume Sortie
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error GoTo gestion_err
Set dict = Nothing 'Libère l'objet
Sortie:
Exit Sub
gestion_err:
MsgBox Err.Description & Chr(13) & "Numéro de l'erreur : " & Err.Number & " dans la sub Form_Unload!"
Resume Sortie
End Sub |
Partager