Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Piloter le planificateur de tâches Windows avec Excel/VBA

1,287 views
Skip to first unread message

Apitos

unread,
Sep 20, 2012, 8:39:35 PM9/20/12
to


Bonjour à tous,

Peut-on planifier des tâches selon des dates inscrites dans un classeur Excel, avec le planificateur Windows ?

Par exemple :

En date du 25/09/2012 08:30 =>Ouverture fichier Fich1.xls

Le 25/09/2012 19:00 => Fermeture du fichier Fich1.xls

Le 26/09/2012 10:15 => Ouverture du fichier Fich2.doc

Le 26/09/2012 12:00 => Fermeture du fichier Fich2.doc

Etc...

Merci d’avance.

isabelle

unread,
Sep 20, 2012, 10:49:48 PM9/20/12
to

MichD

unread,
Sep 20, 2012, 10:59:39 PM9/20/12
to
Bonjour,

Avec le planificateur de tâches, cela risque d'être difficile.

Mais si tu dédiais un classeur qui demeure toujours ouvert dans
une instance d'Excel invisible durant la journée, tu pourrais utiliser
l'événement "OnTime" pour lui désigner l'heure et la macro à exécuter
dans une boucle ....

La suite demain! ;-)

MichD
---------------------------------------------------------------

gmls...@gmail.com

unread,
Sep 21, 2012, 4:43:56 AM9/21/12
to
Bonjour,

Il semble plus simple de planifier depuis le planificateur l'ouverture des fichiers excel selon les dates voulues directement.

ou bien (sans planificateur) de prévoir les ouvertures voulues au démarrage d'excel
dans le perso par exemple qui vérifierait les dates.

Cordialement.

--
LSteph

Apitos

unread,
Sep 21, 2012, 9:39:59 AM9/21/12
to
Bonjour Isabelle, MichD, LSteph,

Isabelle :: J'ai utilisé le code, pour ouvrir notpad.exe, mais il faut toujurs verifier les dates pour planifier d'autres tâches.

> Mais si tu dédiais un classeur qui demeure toujours ouvert dans
une instance d'Excel invisible durant la journée, tu pourrais utiliser
l'événement "OnTime" pour lui désigner l'heure et la macro à exécuter
dans une boucle ....

La suite demain! ;-)

ET

> Bonjour, Il semble plus simple de planifier depuis le planificateur l'ouverture des fichiers excel selon les dates voulues directement. ou bien (sans planificateur) de prévoir les ouvertures voulues au démarrage d'excel dans le perso par exemple qui vérifierait les dates

Des exemples ?

Merci.

LSteph

unread,
Sep 22, 2012, 1:51:54 AM9/22/12
to
Bonjour,

Un exemple donc de ce qui se pourrait mettre dans le Thisworkbook de perso
pour ouvrir un fichier à date choisie.


Private Sub Workbook_Open()
Dim ladate As String
ladate = Format(Now, "dd/mm/yyyy")
Select Case ladate
Case "03/08/2012", "22/09/2012", "25/11/2012"
Workbooks.Open "C:\Users\Tous\Documents\AnnivFetes.xls"
End Select
End Sub

'LSteph


"Apitos" <api...@gmail.com> a écrit dans le message de
news:18dc8147-5ebe-4df5...@googlegroups.com...

Apitos

unread,
Sep 22, 2012, 4:03:42 PM9/22/12
to
Bonsoir LSteph,

Voila trois cours en relations avec on sujet :

http://jpcheck.developpez.com/tutoriels/office/excel-et-fichiers-batch-passage-parametres/

http://jpcheck.developpez.com/tutoriels/access/generer-taches-planifiees-depuis-access/

http://jpcheck.developpez.com/tutoriels/access/access-et-fichiers-batch-passage-parametres/

Je en train de les lire/relire (Ce n'est pas facile :0) ).

Et si quelqu'un arrive à mettre un exemple avant, je serais très ravi.

Merci.


MichD

unread,
Sep 23, 2012, 4:18:59 PM9/23/12
to
Bonjour,

Voici un fichier exemple pour créer des tāches planifiées :
http://cjoint.com/?BIxwrCrkUTY

MichD
---------------------------------------------------------------

MichD

unread,
Sep 24, 2012, 9:21:13 AM9/24/12
to
Une mise à jour du fichier qui permet de créer de nouvelles tâches
et de supprimer les tâches : http://cjoint.com/?BIypurDaEYS

MichD
---------------------------------------------------------------

Apitos

unread,
Sep 24, 2012, 11:19:10 AM9/24/12
to
Bonsoir MichD,

Merci pour l'exemple.

Je vais faire des essais.

@+

Apitos

unread,
Sep 27, 2012, 4:32:35 PM9/27/12
to
Bonsoir à tous,

En essayant de lancer une macro nommée "hello" dans un module standard :

'-------------
Sub hello()
MsgBox "Hello !"
End Sub
'-------------

J'ai renseigné les champs comme suit :

Chemin
M:\user\Excel\Taches planifier

Fichier
TestPlanificateurVBA.xls

Flags
1

Heure
21:15:00

Date
Jeudi

Jour de la semaine



Jour du Mois


Macro à exécuter
hello

Nom du job créé
user_5

Après, dans les tâches planifiées, j'ai lu dans la colonne "Etat" :

'*****
N'a pas pu démarrer
'*****

Ou est le problème ?

Merci.

Gloops

unread,
Sep 29, 2012, 8:10:26 AM9/29/12
to
Apitos a écrit, le 27/09/2012 22:32 :
> Après, dans les tâches planifiées, j'ai lu dans la colonne "Etat" :
>
> '*****
> N'a pas pu démarrer
> '*****
>
> Ou est le problème ?
>
> Merci.
>

Il faut la lancer à la main (clic droit dessus, exécuter), là ça affiche
un message d'erreur.

Une autre solution est de regarder dans l'observateur d'événements, dans
les outils d'administration du panneau de configuration.

Il ne serait pas plus étonnant que cela qu'on te dise que ton fichier
n'est pas un exécutable, auquel cas ça marchera mieux en mettant le
chemin du programme Excel devant (et le fichier en argument).


Apitos

unread,
Sep 29, 2012, 10:20:34 AM9/29/12
to
Bonjour Gloops,

> Il ne serait pas plus étonnant que cela qu'on te dise que ton fichier n'est pas un exécutable, auquel cas ça marchera mieux en mettant le chemin du programme Excel devant (et le fichier en argument).

Si j'a bien compris, c'est des lignes de commandes DOS qu'il faut saisir au lieu du nom de la macro seulement ?

Gloops

unread,
Sep 30, 2012, 7:26:54 AM9/30/12
to
Ah je n'avais pas fait attention ... Tu as juste mis le nom de la macro ?

Ah non ça effectivement, ça parle à Excel une fois que le classeur est
chargé, mais pas au système.

Tu peux essayer le nom du fichier, avec son extension, il peut s'ouvrir
avec le programme par défaut, à vérifier. Là-dedans si tu veux exécuter
une macro, bien entendu il faut qu'elle soit en autoopen (il faut
vérifier les noms adéquats, la dernière fois que j'ai joué avec remonte
à une dizaine d'années). Au besoin, on peut en reparler une fois que la
tâche planifiée ouvre le classeur. Il a existé des versions d'Excel qui
acceptaient un argument de ligne de commande pour indiquer une macro à
exécuter.

Mais, dans une tâche planifiée, une macro Excel sans préciser où elle
est ni ce qu'il faut faire avec, aucune chance.

Pour la fermeture, il se peut bien qu'il soit plus facile de gérer ça à
l'intérieur du classeur.

Si c'est pour juste afficher un message, tu peux écrire un script, c'est
moins lourd qu'un classeur Excel pour le même travail. Comme langage tu
peux choisir VBScript, par rapport à VBA ça te demandera moins d'effort
d'adaptation que JavaScript. Chacun des deux langages a ses newsgroups
dédiés. Il existe aussi des newsgroups pour les scripts en général.



Gloops

unread,
Sep 30, 2012, 7:52:45 AM9/30/12
to
Apitos a écrit, le 27/09/2012 22:32 :
> J'ai renseigné les champs comme suit :
>
> Chemin
> M:\user\Excel\Taches planifier
>
> Fichier
> TestPlanificateurVBA.xls
>
> Flags
> 1
>
> Heure
> 21:15:00
>
> Date
> Jeudi
>
> Jour de la semaine
>
>
>
> Jour du Mois
>
>
> Macro à exécuter
> hello
>
> Nom du job créé
> user_5
>
> Après, dans les tâches planifiées, j'ai lu dans la colonne "Etat" :
>
> '*****
> N'a pas pu démarrer
> '*****
>
> Ou est le problème ?
>
> Merci.
>

J'ai créé mon programme Retard sous Windows XP, et toi tu travailles sur
quel système ?
Dans la boîte de dialogue de définition d'une tâche, j'ai un champ
"Exécuter". Quand j'ai vu un nom de fichier ci-dessus, j'ai supposé que
c'était là que tu l'avais mis.

Et puis, un peu plus bas je vois "macro à exécuter". ça, je dois avouer
que ça ne m'évoque rien.

C'est il y a cinq ans que j'ai travaillé là-dessus, Microsoft prévoyait
la sortie d'une version 2 du planificateur de tâches. Je commence donc à
me méfier que peut-être je ne suis pas à jour. En vertu de la
compatibilité ascendante, je devrais pouvoir te mener à quelque chose
qui fonctionne. Il se peut toutefois que je n'exploite pas certaines
possibilités qui seraient apparues plus récemment.






















MichD

unread,
Sep 30, 2012, 8:03:03 AM9/30/12
to
Je te propose une autre approche :

Dans la fenêtre de l'éditeur de code (VBA) ajoute la référence suivante :
TaskScheduler
à partir de la barre des menus / outils / références :

Je te donne le code et tu n’as qu’à remplacer dans la procédure, l’information
tapée en
dur et la remplacer par l’adresse d’une cellule dans ta feuille Excel.

Je te donne même la définition de certaines constantes afin de te permettre
de comprendre:
Tout cela est dans le fichier joint.

La bibliothèque “TaskScheduler” est disponible dans Windows Vista et Windows
7.

Avec ce qui suit, tu devrais pouvoir faire ce que tu désires. Bon travail!

http://cjoint.com/?BIEn7ltTgiz


MichD
‘--------------------------------------------------------------

MichD

unread,
Sep 30, 2012, 11:53:47 AM9/30/12
to
Fichier exemple pour la création d'une tâche à exécution unique
plus la macro pour la supprimer.

http://cjoint.com/?BIEr0zjtjMT




MichD
---------------------------------------------------------------

Apitos

unread,
Sep 30, 2012, 6:26:42 PM9/30/12
to
Bonsoir Gloops, MichD,

Gloops :: j'ai toujours un Windows XP !

MichD :: Y a-t-il une version adapté à Win Xp de la bibliothèque TaskSheduler pour la télécharger ?

Merci.

MichD

unread,
Sep 30, 2012, 7:22:05 PM9/30/12
to
| Y a-t-il une version adapté à Win Xp de la bibliothèque TaskSheduler pour
la télécharger ?

Le problème ce n'est pas la bibliothèque, mais c'est l'environnement du
planificateur de tâches
de Windows qui a changé et j'ai bien peur qu'il n'y ait pas de solution!


MichD
---------------------------------------------------------------

Gloops

unread,
Sep 30, 2012, 8:10:17 PM9/30/12
to
Bonjour,

Si il n'y avait pas de TaskScheduler adapté à Windows XP, ceci
n'existerait pas :

http://zailes.org/Retard/Retard.aspx

Microsoft annonçait une version 2, mais c'était juste pour aller plus loin.

Ce qui m'intrigue, c'est le champ "macro" que tu as trouvé sur une tâche
planifiée, d'où ma question sur le système d'exploitation.

Bon, on dirait qu'il va falloir que je me replonge là-dedans. Jusque là
je me contentais du niveau conceptuel, auquel il me reste bien assez de
souvenirs pour répondre, mais si maintenant MichD cale, il va falloir
que j'en aie le coeur net.

Et ça fait deux machines que ce n'est plus sur mon disque, il faut que
je sorte ça des sauvegardes. ça va faire un peu comme quand tu arrives
au café avant qu'on ait branché la machine à café : il faut attendre
qu'elle chauffe.


0 new messages