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 :

Typelib dotnet en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    En retraite
    Inscrit en
    Septembre 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 31
    Par défaut Typelib dotnet en VBA
    Bonjour tout le monde.

    Je cherche à utiliser des objets dotnet depuis VBA. Pour celà, il est dit à plusieurs endroits qu'il faut inclure la référence en pointant sur le tlb du namespace correspondant. Par exemple "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.tlb"

    Lorsque je déclare un objet de la bibliothèque, l'intellisense détecte le namespace (ici "System_Drawing") et les classes décrites dans ce namespace (par exemple Picture)


    Dès qu'on veut coder et appeler une méthode ou une property de l'objet, plus d'intellisense!!!!

    Quelqu'un aurait-il une explication rationnelle à ce mystère et si en plus ce quelqu'un à une solution , il aura droit à ma reconnaissance.

  2. #2
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    bonsoir,

    peut être avec des modules de classe implémentant ces objet, s'ils le permettent, ça pourrait être assez tordu.
    Mais avec VBA tu as Microsoft Graph.
    je reste intéressé par la solution que tu trouveras.

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    L'Intellisence de VBA est toujours l'Intellisence préhistorique des tous débuts de la technologie. Je ne suis pas certain qu'elle soit capable d'exploiter les les fichiers TLB aussi efficacement que l'Intellisence de Visual Studio.

    Tu n'en parles pas dans ta question et j'espère ne pas t'offusquer avec ceci, mais l'utilisation du Framework à partir de VB6 - VBA demande un peu plus de travail que de juste ajouter la référence.

    Toujours sans vouloir t'offenser, tu veux jeter un œil ici et un autre là.

  4. #4
    Membre averti
    Homme Profil pro
    En retraite
    Inscrit en
    Septembre 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 31
    Par défaut C'est sympa
    Merci à vous 2

    Juste pour votre info; les fichiers tlb sont des fichiers COM et constituait l'ancêtre de ce que nous connaissons sous le terme de reflection en dotnet. Les fichiers tlb créés par un environnement dot net (au moins VS2005 et VS2010) n'exposent en VBA que les classes (sans methodes ni properties) et les type def dans leur intégralité. Bizarre. J'ai testé ce phénomène sur mes propres classes en utilisant les méthodes citées depuis VS 2003 sans creuser plus amont. Mais là, ce sont les tlb livrés avec dotnet qui posent "aussi" le PB et je me dis que ce n'est pas une fausse manip de ma part.
    D'où ma demande d'éclairage et je vous remercie encore de vos réponses

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Par défaut
    L'intellisense ne marche pas toujours. Il m'est arriver de ne pas le voir fonctionner sur des alignements de 4-5 éléments. Pourtant, ça compilait et ça tournait comme je voulais.

    D'ou ma question : est-ce que ça compile, et est-ce que ça tourne comme tu veux? Dans ce cas, fais ton deuil de l'intellisense, et code à l'ancienne. Ca marche bien, aussi. On a pas le confort de la pré-validation de l'intellisense, mais on s'en sort.

Discussions similaires

  1. [VBA] [Interface] BringToFront/SendToBack
    Par DarkVader dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/10/2002, 14h29
  2. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  3. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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