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 :

Référence Excel manquante [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut Référence Excel manquante
    Bonjour a tous,

    J'ai recherché sur Internet des réponses a mes questions mais je ne comprend pas trop :/

    Donc j'ai crée un fichier Excel avec du code et j'utilise des références :
    Visual Basic For Applications
    Microsoft Excel 11.0 Object Library
    OLE utomation
    Microsoft Office 11.0 Object Library
    Microsoft Forms 2.0 Object Library
    Microsoft Shell Controls And Automation
    Internet_Assistant
    Microsoft HTML Object Library
    fpdtc 1.0 Type Library
    Microsoft Windows Common Controls 6.0 (SP6)

    Et je voudrais que mon code soit utilisable sur plusieurs PC (qui n'on pas forcement la même version d'office)
    mais j'ai déjà testé sur 1 seul PC (avec Office 2010) et, il y a des références qui manques

    Donc mes questions :
    Peut-on télécharger des références en +, ou c'est fait automatiquement quand on installe office ?
    Quand il y a une référence sur une version, est'il obligatoire d'avoir une référence pour une autre version ?
    Et si une références n'est pas présentes sur un Excel, comment fait on ?

    Si vous avez un petit cours sur les références j’aimerais bien avoir le lien
    car c'est vrai que c'est quelque chose de bloquant quand on s'y connais pas

    Merci beaucoup de votre aide !

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Bonjour à toi,

    Mon petit doigt me dit que déjà une des références manquantes est :
    fpdtc 1.0 Type Library
    Les références sont des fichiers qui ajoutes la possibilités d'utiliser de nouveaux type d'objets.
    Donc soit tu as une install qui en rajoute, soit tu as juste le ou les fichiers qu'ils va falloir enregistrés au niveau système.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    Bonjour cerede2000,

    Oui effectivement ^^

    pour exemple, sur le PC de mon collègue,
    Il manque :

    HTML,XLA (mais je ne sais pas d'ou elle vient elle XD)
    fpdtc 1.0 Type Library
    Microsoft Windows Common Controls 6.0 (SP6)

    D'accord donc si je comprend bien,
    il faut que je transport mes références avec mon fichiers pour être sûr que cela fonctionne correctement sur chaque ordinateur ? (et que je map mes références bien sûr)

    Et si par exemple sur mon ordinateur il me manque une référence pour utiliser des objets, je peux la télécharger comment ?

    Merci de ton aide

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Avec des références non standard (donc intégrés de base avec tous les Office) ça deviens vite compliqué...
    Déjà qu'avec des références censé être standard c'est souvent problématique.......

    Je ne connais pas :
    HTML,XLA
    fpdtc 1.0 Type Library

    Donc je ne pourrais pas te dire comment les installer, au mieux voir pour récupérer les OCX, DLL... et les enregistrer avec RegSVR32 sur le PC de ton collègue.

  5. #5
    Expert confirmé
    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
    Par défaut
    Salut, voir ici : Comment activer une référence, mais la chose n'est pas simple.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    il existe effectivement de problèmes au nivaux du versionning et de références dans le projet Excel!

    le didacticiel proposé kiki29 présente une première approche vers une solution durable!

    Visual basic for application est également source de problème, car les références sont embarqué dans le projet vb par son nom et le cheminement complet!

    Nom : Sans titre.png
Affichages : 1386
Taille : 1,8 Ko

    cette librairie est incontournable car chargé par défaut, sens elle pas de vba!, il peut existé 2 version une en C:\Program Files (x86) si Windows et/ou Excel est en 32bits et C:\Program Files si le programme est en 64bits

    la problématique de passe d'une version à l'autre est quelle peut faire référence à deux emplacement distinct et générer des conflits.

    on peut résoudre ce problème en déclinant arborescence à partir de la librairie effectivement chargée! Prenons l'exemple du Trim
    Dernière modification par Invité ; 01/04/2016 à 17h17.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    Merci beaucoup à vous trois

    Je pense que je vais trimbaler mes DLL avec mon fichier, dans des répertoires sous-jasent de mon application.
    Enfin au moins celles qui ne sont pas forcement utilisé partout ^^

    je vais regarder ta réponse rdurupt !

  8. #8
    Invité
    Invité(e)
    Par défaut
    Ha que la vie est belle pourquoi je n'y est pensé moi même!
    Dernière modification par AlainTech ; 06/04/2016 à 22h08. Motif: Suppression de la citation inutile

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    rdurupt,

    Ta réponse est ironique ?

    Je me base sur des applications plus évolué comme du C#
    qui emporte dans chaque projet les bonnes DLL,
    ce qui est plus lourd (enfin je pense que quelques MO n'est pas énorme non plus)
    mais au moins si l'on MAP le bon chemin les DLL fonctionnerons sur chaque PC

    Enfin après je n'ai pas pris en compte si les DLL change en fonction du système 32 et 64 bit

    Merci de vos réponse.

  10. #10
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Après, tu peux peut être t'en sortir en faisant du late binding
    ce qui te permet de ne pas avoir à référencer les libs externes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub test()
        ' au lieu de...
        Dim xlApp As New Excel.Application
        ' faire...
        Dim xlApp As Object
        Set xlApp = CreateObject("Excel.Application")
    End Sub

  11. #11
    Invité
    Invité(e)
    Par défaut
    Le visual Basic n'est plus maintenu par Microsoft depuis 2003! On n'est pas dans ce que tu appel un langage des plus évolué!

    Je t'es expliquer plus haut que le librairies son embarqué dans le projet vba (donc ton fichier Excel) par leurs noms complet.
    Le librairies de Word par exemple sont installés dans le répertoire qui va bien avec leurs dépendances. Et c'est le setup qui fait le boulot c'pas vraiment toi qui choisis!

    Pour que ton truc marche il faut bricoler la bas de registre et en plus refaire matcher les dépendances autant te coltiné une version de ton en code en C#!

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    Je ne comprend pas trop la,

    En gros dans le fichier Excel, tu enregistre juste les DLL que tu veux utiliser (le nom + le chemin)
    Et dans l'application Excel (C:\Program Files (x86)\Microsoft Office\OFFICE11\...) il y a les dites DLL

    Et selon la version d'office que vous avez et le système (32bit/64bit) , les DLL sont différentes

    Si j'ai bien compris c'est ca !

  13. #13
    Invité
    Invité(e)
    Par défaut
    Ton fichier Excel ne connais que le chemin C:\Program Files (x86)\Microsoft Office\OFFICE11\.

    Maintenant en fonction du système tes dll sur chaque machine s'enregistre dans le programme file qui lui est propre.

    Regarde l'image que j'ai joint. Donc quoi qu'il arrive ton application va chercher la dll dans C:\Program Files (x86)\Microsoft Office\OFFICE11\.

    Alors qu'il est possible quelle ce trouve dans l'autre programme file (64bis par exemple)

    Le problème de Microsoft c'est de faire évoluer ses logiciel en gardant une compatibilité avec l'ancien au bout d'un moment il faut faire un choix!

  14. #14
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    D'accord,

    je crois que j'ai compris,

    Du coup si a l'ouverture de mon fichier je spécifie le chemin des DLL en allant les chercher dans l'ordinateur
    Cela pourra être possible?

    enfin après c'est vrai que je n'arrive pas trop à comprendre pourquoi je me trimbale pas avec mes fichier DLL
    tout simplement ^^, puisque c'est comme si c’était une action utilisateur..

    merci de vos réponses !

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Une dll que tu compile toi même et que tu place sur to pc oui si tu indique le chemin c:\MyDll\dll.dll dans l'option parcourir de références oui. Il te suffirais de la placer sur un pc Hôte mais un application installée sur un machine dispose de plusieurs dll dépendantes les unes des autres non m, c'est ce que j'ai appelé plus haut les dépendances.

    D'une part c'est compliqué d'autres par tu devrais réplique l'opération sur toutes le machine en ça casserait le logiciel en question.

  16. #16
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    D'acccord,

    Que me conseils-tu de faire du coup ? je ne vois pas sinon ^^

    avec votre aide (et je vous en remercie)
    je pensais partir sur :

    je trimbale mes DLL avec mon fichier Excel
    a l'ouverture du classeur,
    je regarde la version d'Excel du PC,
    Je regarde si le système est en 32 ou 64 bit
    je colle les DLL dans le "C:/etc..."
    et je configure le fichier Excel avec les bonnes références.

    Car je ne vois pas comment faire sinon,
    Je ne veux pas être obliger de configurer à la main chaque PC
    puisque mon fichier pourra me retrouver chez vous et je ne veux pas me déplacer XD
    je veux que le fichier, une fois lâcher la dans nature, pourra ce débrouiller tout seul.

    Merci de vos réponses

  17. #17
    Invité
    Invité(e)
    Par défaut
    bonjour,
    pour le objets comme Word,Outlook utilises CreateObject et pas le références à l'application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim W as object
    set W=CreateObject("Word.Application")
    pour ce qui est de Microsoft Visual Basic For Application vue qu'elle est chargé par défaut il faut utiliser l'instance effectivement chargé en déclinant les instruction à partir de vba, je reprends mn exemple du trim!
    pour le reste c'est pas de chance mais tu couvre 90% comme ça.

  18. #18
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    D'accord, merci beaucoup de ton aide !
    et a bientôt

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

Discussions similaires

  1. référence bibliothèque manquante
    Par xycoco dans le forum IHM
    Réponses: 3
    Dernier message: 01/10/2007, 19h32
  2. Réponses: 2
    Dernier message: 12/09/2007, 00h07
  3. [VB.NET] Importation Référence Excel
    Par HULK dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/12/2006, 17h44
  4. Référence VBA manquante Access 2000
    Par p'tite Sandrine dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/11/2006, 14h47
  5. Référence Excel depuis Access
    Par Guiguouz dans le forum Access
    Réponses: 1
    Dernier message: 08/06/2006, 15h18

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