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 :

Comment ajouter une référence à un XLA par macro ? [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    j'ai développé un XLA qui contient toutes les macros d'une application.
    A côté, j'ai plusieurs utilisateurs qui utilisent des excel qui pointent sur ce XLA.
    Actuellement, il faut que je passe sur tous les excels pour ajouter la référence manuellement (Alt F11 / Outils / Références ...). Je précise bien que c'est une référence et non un Add-in.

    Sur le NET, j'ai vu des post qui indiquent d'utiliser le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Workbook_Open()
        ThisWorkbook.VBProject.References.AddFromFile ("D:\Plan de charge.xla")
    End Sub
    Mais j'ai l'erreur :
    "La méthode VBProject de l'objet Workbook a échouée"

    Quelle est mon erreur ?

    Par avance, merci !

    Pour essayer de comprendre l'erreur j'ai décomposé le code.
    L'erreur se produit sur la ligne 4 alors que VBProject est bien une propriété de Workbook.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub test()
      Dim vbProj As VBIDE.VBProject
      Set vbProj = ActiveWorkbook.VBProject
      vbProj.References.AddFromFile ("D:\Plan de charge.xla")
    End Sub
    Avez-vous des idées ?
    Merci

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 940
    Points : 28 938
    Points
    28 938
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il faut référencer Microsoft Visual Basic for Applications Extensibility 5.3

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Merci pour ta réponse Philippe. Ça marche ... malheureusement pour moi

    Je m'explique :
    je cherchais une méthode pour déployer un nouveau XLA à tous mes utilisateurs en déclenchant une macro de référencement. Mais, étant donné qu'il faut passer sur tous les postes pour activer la librairie, l'objectif est raté.

    Je vais donc clore cette discussion et en ouvrir une autre sur une idée de déploiement.

    Merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment ajouter une référence microsoft DAO
    Par bobosh dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/06/2015, 10h03
  2. [AC-2007] Comment Ajouter une référence ?
    Par Pittouti dans le forum VBA Access
    Réponses: 3
    Dernier message: 17/03/2013, 10h46
  3. Réponses: 2
    Dernier message: 26/11/2008, 20h01
  4. [VB Sax] Ajouter une référence manuellement dans un macro *.bas
    Par Miles Raymond dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/04/2008, 09h31

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