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

VBA Access Discussion :

Exécution macros via batch


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 273
    Par défaut Exécution macros via batch
    Bonjour,


    J'ai crée un fichier .bat me permettant d'ouvrir une macro("Macro_Jour") Access;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Start /WAIT msaccess.exe    "C:\Users\S8Robert\Documents\Mesprojets\BDD.accdb" /x Macro_Jour

    Le souci est que cette macro ouvre une requête qui elle même dépend d'une table liée via un ODBC et aussi d'un module VBA contenant une fonction.

    J'aimerai donc savoir s'il existe un moyen d' indiquer dans mon script Batch:
    - le mot de passe pour l'ouverture les tables liées
    -Activer l'option "Activer ce contenu" de l'alerte sécurité Macro VBA.


    Pour que l'éxécution de mon batch se fasse sans problème.

    Je vous remercie d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Hello,

    la partie activer le contenu me parait très peu envisageable niveau automatisation.
    Pour la partie mdp et compagnie, tu peux effectivement passer les informations depuis ton fichier batch.

    Un peu de lecture à ce sujet
    http://jpcheck.developpez.com/tutori...ge-parametres/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 273
    Par défaut
    Salut,

    justement c'est ce tuto qui m'a permi d'écrire mon script par contre je n'y ai pas vu comment spécifier le mot de passe. pourrais -tu m'indiquer?



    Merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Le mot de passe reste une chaine de caractères.
    Il te faut donc le passer en complement de la macro que tu souhaites exécuter. Tu peux donc te référer au chapitre
    http://jpcheck.developpez.com/tutori...tres/#LXII-E-2

    Reste à toi de créer la nomenclature adéquate.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 273
    Par défaut
    Salut, j'ai essayé suivant et au finish ça marche pas (le mot de passe pour la connection à SQL Server est joiedevivre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Start /WAIT msaccess.exe    "C:\Users\S8Robert\Documents\Mesprojets\BDD.accdb" /cmd Macro_Jour

    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
    Function StartUp( )
    Dim monparam as Variant  ' déclare une variable 
    Dim Mot_dePass as character 
    Mot_dePass="joiedevivre"
     
    monparam = Command( )     ' affecte la valeur transmise à la variable
     
    	If Not IsNull(monparam) Then 	'si la variable est nulle
    		If Len(monparam)>0 Then 	'on s'assure qu'un paramètre a été passé, sinon pas de comportement particulier
    		RecuperationSplit = Split(monparam,Mot_dePass)
     
                       DoCmd.RunMacro monparam
    		End If
    	End If				
    End Function

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Hello,

    plusieurs petites choses :
    - le mot de passe doit non pas etre stocke dans le code VBA mais le passage du parametre batch
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Start /WAIT msaccess.exe    "C:\Users\S8Robert\Documents\Mesprojets\BDD.accdb" /cmd "Macro_Jour|joiedevivre"
    une fois ce parametre envoyé, il faut le lire convenablement dans le code VBA.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Mot_dePass as character 'il faut un String et non character
    Mot_dePass="joiedevivre"
    disparaissant du code
    - la fonction split sert a decomposer sous forme de tableau un ensemble de donnees séparées par une valeur précise (dans mon cas le caractère "pipe" (alt gras + 6 = |)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RecuperationSplit = Split(monparam,"|")
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 273
    Par défaut
    Salut, jpcheck

    J'ai bein examiné le code VBA de la FAQ, je t'apporte cependant les précisions ci-après
    Ma base de données access n'est pas protégée par un mot de Pass c'est plutôt la table qu'elle contient(table déjà liée à Access qu'on va nommer Check) qui appartient à une source de données ODBC dont la connection à SQL Server nécéssite un mot de passe (qu'on va nommer bien).

    Avec la table Check j'ai fait plusieurs requêtes et macros, je ne peux donc ouvrir ces requêtes ou ces macros sans avoir au préalable rentrer le mot de pass
    bien.


    Mon problème n'est plus de lier Check à ma BDD access mais :
    -d'activer automiquement la connection de ma source de données ODBC à sql server
    -Lancer une de mes macros via un batch.


    Or d'après ce que je comprends, le code de la FAQ liera Check à ma BDD access, ce qui est déjà fait.


    Je te remercie par avance et espère t'avoir apporté plus de précisions

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Et le fait de stocker le mot de passe lors de la liaison n'est pas envisageable ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 273
    Par défaut
    Pourrais-tu être plus explicite?

  10. #10
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    dans la chaine de connection de ta table, tu peux stocker le mot de passe par VBA. Si le mdp est stockée, pas besoin de le redonner au début
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 273
    Par défaut
    Bonjour jpcheck,
    désolé pour cette réponse tardive . Je ne vois pas comment stocker le mot de passe par VBA dans la chaine de connection comme tu le dis.

Discussions similaires

  1. [XL-2003] MAJ date/heure exécution macro via bouton d'action
    Par ivanG dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/05/2014, 15h47
  2. Réponses: 0
    Dernier message: 13/05/2014, 16h09
  3. Exécution d'un batch dans une macro
    Par Isiker dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 07/06/2010, 16h44
  4. Exécuter une macro via commandButton
    Par lolonico dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/08/2008, 13h25
  5. Exécuter macro Access via ADODB
    Par cocomsa dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 19/10/2007, 08h36

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