Bonjour,

Je souhaiterais créer une tâche planifiée me permettant de gagner un temps précieux dans ma matinée. Je dois effectuer des actions sans valeurs ajoutées et cela prend un certain temps. En gros cela donne :

1° Lancement d'access et création d'une table à partir d'une requête
2° Lancement d'excel et mise à jour de données s'appuyant sur cette table

Je voulais donc automatiser un peu tout ça, histoire de gagner quelques heures (la requête est très longue)

Je me suis lancé dans le VBS, c'est la solution qui m'a paru la plus logique pour piloter access et excel en même temps et le lancer à partir des tâches planifiées windows.

Problème rencontré (j'en ai rencontré pas mal avant de me décider à poster) :
- Impossible de lancer une requête access existante dans une base existante (nom de la requête : "Req", se trouvant dans la base "test.accdb"). C'est très facile quand on passe par le code sql mais le mien est trop imbuvable pour être migré dans le script. Voici le code que j'ai commencé à faire :

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
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
 
'-------------------------Modifs access -----------------------------
	Dim oAcc, oBdd
	Dim sPathFileAccess
 
	'chemin jusqu'à la BDD
	sPathFileAccess = "p:\SCRIPT\test.accdb"
 
 
	Set oAcc = WScript.CreateObject("Access.Application")
	oAcc.Visible = True
 
	'Set oBdd = oAcc.OpenCurrentDatabase("p:\SCRIPT\test.accdb")
	'cette ligne ne marchait pas, impossible de comprendre donc j'ai pris une autre méthode
 
 
	'Methode 2
	'Access est ouvert mais la base de donnée n'est pas visible ...
	set oBdd=oAcc.DBEngine.Workspaces(0).OpenDatabase(sPathFileAccess)
 
 
	On Error Resume Next
 
	oAcc.DoCmd.OpenQuery("Req") 'ne marche pas
 
	WScript.Sleep 1000
 
	oAcc.Quit
 
	MsgBox Err.Number
 
	Set oBdd = Nothing
	Set oAcc = Nothing
 
Set WshShell = Nothing
Si déjà vous pouviez m'aider à régler ça, je commencerais à reprendre espoir ! Les recherches google ne m'ont pas aidées pour ce coup là, a chaque fois, une étape ne marche pas chez moi.

Je me demandais aussi si je ne pouvais pas passer par une macro access mais dans ce cas-là, comment la lancer aussi ?

Merci beaucoup pour votre aide ! Toute proposition pour améliorer mon système est la bienvenue...

PS : Windows Xp et Access 2007 !