IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Script d'automatisation des tâches


Sujet :

VBScript

  1. #1
    Membre averti
    Homme Profil pro
    stagiaire
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Par défaut Script d'automatisation des tâches
    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 !

  2. #2
    Membre averti
    Homme Profil pro
    stagiaire
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Par défaut
    Bon, petit up, j'en profite pour mettre à jour ma question.

    Comme ça paraît franchement compliqué (d'ailleurs je croule sous les réponses ), j'ai feinté. J'ai crée un fichier batch et une macro access qui met à jour mes tables. Je lance access et la macro de mise à jour avec le batch.

    Il me reste une problématique. Dites-moi si je me trompe mais je pense ne pouvoir m'en sortir qu'en vbs. Lors de la mise à jour de fichiers Excel, il arrive qu'il me soit demandé un mot de passe (pour accéder à une BDD disante).

    Je cherche donc à :
    -ouvrir un fichier excel (ça j'y arrive);
    -mettre à jour des tables liées (cet tables sont liées à des fichiers access eux-même liées à une Bdd qui demande un mot de passe);
    -remplir un mot de passe pour que la requête s'effectue correctement.

    Voila, j'ai déjà bien fouillé le web et les problématiques de mot de passe sont nombreuses mais je n'ai trouvé aucune solution pour remplir ce popup excel.

    Merci de votre aide ! En espérant que cette question vous inspirera un peu plus ... :/

  3. #3
    Membre averti
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Par défaut Excel + VBS + BDD
    Bonjour,

    J'ai rencontré un peu le même problème avec MySQL. Enfin, je pense...

    Je suis passé par la configuration ODBC.

    J'ai déjà scripté en powershell un petit outils qui va chercher des données dans une base de données pour l'insérer dans un fichier excel. Il doit exister la même chose pour vbscript.

    Cordialement,

    Karon

  4. #4
    Membre averti
    Homme Profil pro
    stagiaire
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Par défaut
    Bonjour karon,

    Déjà merci pour ta réponse, je commençais à me languir !

    Ensuite je suis déjà en ODBC ! Le problème, c'est toute mes requêtes (il y en a pas mal) ! Je ne me vois pas du tout les intégrer dans un script. L'idéal ça serait de pouvoir mettre une ligne toute simple du genre Sendkeys "password", sauf que ça marche pas aussi simplement...

    Bonne soirée

  5. #5
    Membre averti
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Par défaut
    Après avoir créé le lien ODBC (où l'on peut configurer un compte...)

    voici les lignes de code à utiliser dans le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim SQLString
     
    set MyDB = CreateObject("ADODB.connection")
    MyDB.Open "TestAccess"
     
    SQLString = "Select * from table1"
    set rsCus = MyDB.Execute(SQLString)
    Pour les requêtes, il est peut être possible d'utiliser celles qui se trouvent dans la base de données Access.

  6. #6
    Membre averti
    Homme Profil pro
    stagiaire
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Par défaut
    Citation Envoyé par karon Voir le message
    Après avoir créé le lien ODBC (où l'on peut configurer un compte...)
    Comment y insérer un mot de passe ?

Discussions similaires

  1. Automatisation des tâches sous Redhat 5.6
    Par constant_op dans le forum RedHat / CentOS / Fedora
    Réponses: 5
    Dernier message: 05/09/2012, 13h58
  2. Script pour automatiser des taches sur des répertoires
    Par Alesk13Fr dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 03/03/2012, 13h51
  3. Réponses: 7
    Dernier message: 24/02/2012, 14h04
  4. [Gimp] Automatiser des tâches via un script.
    Par Zaltymbunk dans le forum Imagerie
    Réponses: 3
    Dernier message: 13/01/2009, 11h17
  5. [debutant]-Automatiser des tâches
    Par petiteso dans le forum ANT
    Réponses: 1
    Dernier message: 26/01/2007, 14h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo