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 :

Chargement d'une référence et utilisation (Microsoft ActiveX Data Objects 2.8 Library)


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 27
    Points : 18
    Points
    18
    Par défaut Chargement d'une référence et utilisation (Microsoft ActiveX Data Objects 2.8 Library)
    Bonjour,
    J'ai une macro ajoutant des données dans une bdd SQL Server. Je me sers donc de Microsoft ActiveX Data Objects 2.8 Library avec ADODB. De base sur les Excel de mon entreprise cette référence n'est pas activée. Je souhaite donc ouvrir la référence dans le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub chargeRef()
        ThisWorkbook.VBProject.References.AddFromFile "C:\Program Files\Common Files\System\ado\msado28.tlb"
    End Sub
     
    Sub insertSql()    
        ' Réf
        Call chargeRef
     
        ' Connexion
        Set connQuinc = New ADODB.Connection
    End Sub
    Lorsque la référence n'est pas coché j'ai l'erreur "Type défini par l'utilisateur non défini" sur ADODB.Connection. Je n'ai pas d'erreur lorsque c'est coché.

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    quand un projet est distribué pour plusieurs PC, il est préférable de travailler en liaison tardive, ce qui évite d'utiliser les références et de gérer les problèmes sous-jacents

    remplace ton utilisation typée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set connQuinc = New ADODB.Connection
    par une déclaration d'objet "lambda" et une création de l'objet souhaité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim connQuinc as Object
    Set connQuinc = CreateObject("ADODB.Connection")
    à faire pour chaque objet de la librairie utilisée (on n'a pas l'ensemble de ton code)


    Un petit tour par ici où était proposé la liaison tardive sur un peu plus d'objets : http://www.developpez.net/forums/d16...e/#post8897732

Discussions similaires

  1. problème avec le chargement d'une référence
    Par mahdi26_ca dans le forum C#
    Réponses: 7
    Dernier message: 24/03/2011, 11h11
  2. Comment activer Microsoft ActiveX Data Objects x.x Library par une macro
    Par demongin dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/05/2009, 18h54
  3. Votre avis : ActiveX Data Object ou Data Access Object ?
    Par jfdmagic dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 21/04/2009, 09h36
  4. Chargement d'une page web utilisant de l'AJAX/HTML/PHP
    Par CrazySeb dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/06/2007, 14h37
  5. Chargement d'une DLL et utilisation du multithread
    Par Maitre Kanter dans le forum Langage
    Réponses: 6
    Dernier message: 07/09/2004, 23h18

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