Bonjour

Je suis en train de créer un automate qui lancera des taches.
Pour cela, j'ai une base de données Accès avec une table qui comporte la liste de différente routines
Dans VB6 j'ai mis une boucle dans un timer qui permet de récupérer les informations de chaque tache.
Si le jour et l'heure correspond, je veux que VB6 lance la macro dont le nom est récupéré par une variable.

Hors cela ne marche pas !
J'ai essayé par un Call, un Application run et un appel de Function.
Mais rien à faire j'ai le message d'erreur suivant :
Erreur de compilation : Sub, Function ou Property attendue.

Quelqu'un aurait il une idée ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Private Sub Timer1_Timer()
Dim NumeroJour As Integer
    NumeroJour = Weekday(Now, vbMonday)
 
Dim dateJ, heureJ, jourJ, MoisJ, AnneeJ As Date
dateJ = Format(Now, "dd/mm/yyyy")
heureJ = Format(Now, "h:mm:ss")
Menu.Text1.Text = dateJ
Menu.Text2.Text = heureJ
 
 
'Date Fin de mois
Dim a1, m1, j1, dateFDM
a1 = Mid(dateJ, 7, 4)
m1 = Mid(dateJ, 4, 2)
j1 = Mid(dateJ, 1, 2)
m1 = m1 - 1
dateFDM = j1 & "/" & m1 & "/" & a1
dateFDM = Format(dateFDM, "dd/mm/yyyy")
dateFDM = CDate(DateSerial(Year(dateFDM), Month(dateFDM) + 1, 0))
Menu.FDM.Caption = dateFDM
 
'Date de Traitement J-1
jourJ = DatePart("w", dateJ)
 
If jourJ = 2 Then
DateTBO = Format(Now - 3, "dd/mm/yyyy")
Menu.DateT.Caption = DateTBO
Else
DateTBO = Format(Now - 1, "dd/mm/yyyy")
Menu.DateT.Caption = DateTBO
End If
 
 
Dim Cnn1 As ADODB.Connection, Cmd1 As ADODB.Command, MonRs As ADODB.Recordset
Dim resRoutines, resJourT, resDetailJour, resHeuresT As String
Set Cnn1 = New ADODB.Connection
With Cnn1
    .Provider = "Microsoft.Jet.OLEDB.4.0;"
    .ConnectionTimeout = 30
    .Mode = adModeReadWrite
    .Open "Data Source=\\frasparsupclt\Access_dtb$\CT\controle.mdb ;User Id=Admin; Password="
End With
 
Set MonRs = Cnn1.Execute("SELECT * FROM Routines ", , adCmdText)
MonRs.MoveFirst
 
Menu.ListeRoutines.Text = ""
While Not (MonRs.EOF)
resRoutines = MonRs![Routines]
resJourT = MonRs![JourT]
resDetailJour = MonRs![DetailJour]
resHeuresT = MonRs![HeuresT]
 
If NumeroJour = resJourT And heureJ = resHeuresT Then
 
Call resRoutines
 
End If
 
MonRs.MoveNext
Wend
 
MonRs.Close
Cnn1.Close
Set MonRs = Nothing
Set Cnn1 = Nothing
 
End Sub
Code de la procédure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Public Sub Routine001()
MsgBox "Coucou Routine001"
End Sub