Bonjour,
Tout est dit dans le sujet en fait.
Est-ce qu'il est possible de crèer des tâches planifiée et les modifier via du code vba sous excel ?
Si oui, vous savez m'expliquer comment faire svp ?
Merci d'avance,
simstef
Version imprimable
Bonjour,
Tout est dit dans le sujet en fait.
Est-ce qu'il est possible de crèer des tâches planifiée et les modifier via du code vba sous excel ?
Si oui, vous savez m'expliquer comment faire svp ?
Merci d'avance,
simstef
C'est le principe même de VBA : ca sert à ca!
Tu prend un cours VBA et t'apprend!
J'aurais peut-être du préciser : une tâche planifiée windows ...
bonsoir
Tu peux tester cette procédure pour créer une tache:
Code:
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100 Option Explicit '---------------------------------------------------- 'Source: 'http://www.tek-tips.com/viewthread.cfm?qid=794484 ' '---------------------------------------------------- Private Declare Function NetScheduleJobAdd Lib "netapi32.dll" _ (ByVal Servername As String, Buffer As Any, JobID As Long) As Long Private Type AT_INFO JobTime As Long DaysOfMonth As Long DaysOfWeek As Byte Flags As Byte Command As String End Type Private Enum JobAdd JOB_RUN_PERIODICALLY = 1& JOB_ADD_CURRENT_DATE = 8& JOB_NONINTERACTIVE = 16& End Enum Private Enum sjWeekdays Monday = 1 Tuesday = 2 Wednesday = 4 Thursday = 8 Friday = 16 Saturday = 32 Sunday = 64 End Enum Private Enum sjDays d1 = 1 d2 = 2 d3 = 4 d4 = 8 d5 = 16 d6 = 32 d7 = 64 d8 = 128 d9 = 256 d10 = 512 d11 = 1024 d12 = 2048 d13 = 4096 d14 = 8192 d15 = 16384 d16 = 32768 d17 = 65536 d18 = 131072 d19 = 262144 d20 = 524288 d21 = 1048576 d22 = 2097152 d23 = 4194304 d24 = 8388608 d25 = 16777216 d26 = 33554432 d27 = 67108864 d28 = 134217728 d29 = 268435456 d30 = 536870912 d31 = 1073741824 End Enum Sub Test() '(ouverture du bloc notes) vbScheduleJob "notepad.exe", DateAdd("n", 1, Now), JOB_RUN_PERIODICALLY, Wednesday, d4 End Sub Private Function vbScheduleJob(strCommand As String, sjTime As Date, _ AddFlags As JobAdd, Optional DayOfWeek As sjWeekdays = 0, _ Optional DayOfMonth As sjDays = 0, Optional PCName As String = vbNullString) As Long Dim myInfo As AT_INFO Dim JobID As Long With myInfo .Command = StrConv(strCommand, vbUnicode) .Flags = AddFlags .JobTime = DateDiff("s", "00:00:00", Format(sjTime, "hh:mm:ss")) * 1000 .DaysOfWeek = DayOfWeek .DaysOfMonth = DayOfMonth End With NetScheduleJobAdd PCName, myInfo, JobID vbScheduleJob = JobID End Function
bonne soirée
michel
Bonjour,
Merci pour le code.
Je vais voir ce que ca donne, et, si je m'en sort, je met le post comme résolu.
Merci encore,
A plus tard
Stéphane
Bonjour,
Merci beaucoup SilkyRoad !
Je ne connaissais pas le système at et c'était exactement ce dont j'avais besoin.
Merci encore
simstef