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

Macros et VBA Excel Discussion :

Enregistrement du mot de passe ODBC dans une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut Enregistrement du mot de passe ODBC dans une macro
    Bonjour

    Je souhaite créer une macro qui lance la commande : ActiveWorkbook.RefreshAll
    Afin d'actualiser mon fichier excel qui contient 15 liens vers mon AS400.
    Je n'arrive pas pour le moment à indiquer dans la macro le mot de passe pour lancer la connexion vers l'AS400

    Source de donnée : Source de données ODBC iSeries Access for Windows


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
    '
    ' Macro1 Macro
    '
    User ID=ODBC;Password=ODBC;"
     
     
        ActiveWorkbook.RefreshAll
    End Sub
    Quelqu’un aurai une idée ?
    D'avance merci
    Sébastien

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, peut-être en cherchant ici ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Merci pour la réponse, mais je n'arrive pas à le faire fonctionner

    voici ma macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub macro1()
     
    DataSource = M3IPRO
    UserId = ODBC
    Password = ODBC
    DataCompression = True
     
        ActiveWorkbook.RefreshAll
     
    End Sub
    EXCEL m'ouvre quand même la mire pour entrer le mot de passe.

    J'ai essayé également

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Driver={Client Access ODBC Driver (32-bit)};System=my_system_name;Uid=myUsername;
    Pwd=myPassword;
    Mais VBA ne veut ni les { ni les ;

    Merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut Nouveaux tests
    Bonjour

    J'ai testé hier soir, mais je n'arrive pas a avancer malgré le site que tu m'as donné
    Soit il ne veut pas les string (message d'erreurs) soit il n'en tient pas compte quand je lance "ActiveWorkbook.RefreshAll"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub macro1()
     
        Driver={Client Access ODBC Driver (32-bit)};
        System=M3IPRO;
        Uid=ODBC;
        Pwd=ODBC;
     
        ActiveWorkbook.RefreshAll
     
     
    End Sub
    Je seche totalement, il ne doit pas manquer grand chose pourtant ?

    D'avance merci
    Cordialement
    Sébastien

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    pourquoi te ne coche pas la case enregistrer le mot de passe dans l'interface des connections?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Bonjour

    Une fois le PC redémarré, Excel n'a plus le mot de passe en memoire. (Depuis Excel 2013)

    Sur le site : https://support.office.com/fr-ch/art...rs=fr-CH&ad=CH
    REMARQUE Excel ne vous demande le mot de passe qu’une fois par session, lors de la première actualisation de la plage de données externes. Au démarrage suivant, Excel vous invite de nouveau à spécifier le mot de passe si vous ouvrez le classeur qui contient la requête et essayez d’effectuer une actualisation.
    Donc en cochant enregistré le mot de passe, ca fonctionne, mais il ne faut jamais redémarrer le PC.

    Je souhaite mettre ce fichier sur un serveur (via le planificateur) qui fera toute la manip (Mise a jour + envoi via Mail) tous les matin, sans que j'ai besoin d'intervenir.
    Et pour arriver au bout de mon truc, il me manque juste cette partie pour stocker le mot de passe.

    Merci

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Bonjour

    je continue de chercher, mais je n'arrive toujours pas a faire fonctionner la macro.
    Si quelqu'un savait comment corriger et completer mon code ?

    D'avance merci
    COrdialment
    Sébastien

    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
    Sub Macro3()
    Dim strDSN As String, strAttr As String, strODBCDrv As String
     
    ' Nom de la source de données ODBC
    strDSN = "M3IPRO"
    ' Nom du pilote ODBC
    strODBCDrv = "ClientACCESS ODBC Driver (32-bit)"
    ' Attributs
    strAttr = "UID=ODBC" & vbCr & "PWD=ODBC"
     
    DBEngine.RegisterDatabase strDSN, strODBCDrv, True, strAttr
     
    ' Refresh
     
        ActiveWorkbook.Connections("Lancer la requête à partir de M3IPRO").Refresh
    End Sub

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Bonsoir

    Est-ce que quelqu'un aurai une idée pour me sortir de cette galère ?
    Merci Merci

    Cordialement
    Sébastien

  9. #9
    Candidat au Club
    Homme Profil pro
    Métier
    Inscrit en
    Novembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Métier

    Informations forums :
    Inscription : Novembre 2016
    Messages : 1
    Points : 3
    Points
    3
    Par défaut
    Bonjour,


    J'ai été confronté au même problème, voilà comment je m'en suis sorti :

    Allez dans Données > Connexions > propriétés > définition

    Indiquez l'identifiant et mot de passe dans la chaîne de connexion et cochez « enregistrer le mot de passe » :

    DSN= monDSN;UID=monid;PWD=monmotdepasse;

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/03/2015, 21h18
  2. Fonction de hash de mot de passe à stocker dans une base de données
    Par Leaffy dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 27/12/2011, 23h21
  3. Comment fonctionne l'enregistrement des mots de passe dans les navigateurs ?
    Par monstroplante dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 26/08/2011, 15h28
  4. [XL-2003] Protéger un mot de passe présent dans une macro
    Par Chevrefeuille dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/03/2010, 20h17
  5. Réponses: 10
    Dernier message: 22/05/2004, 13h51

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