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

VBA Discussion :

Declaration de fonction


Sujet :

VBA

  1. #1
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Dessinateur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Declaration de fonction
    Bonjour a tous,

    Est ce que quelqu'un peut me dire si il est possible d'appeler une fonction d'un autre projet a partir d'un projet dvb quelconque.
    Quelque chose sous la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Option Explicit
    Declare Function DistancePtPT Lib "C:\Program Files\SolidRCAD\J_Commun\COM_Log.dvb" (PointA As Variant, PointB As Variant) As Single
    Merci beaucoup pour votre réponse.

  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, consulter ceci ?

    Sinon
    2 Classeurs A et B, A étant le classeur appelant
    Dans A sous VBE ajouter la référence au classeur B en sélectionnant "Microsoft Excel Files" etc pour sélectionner le classeur B
    Cliquer sur Ok
    Dans A tu devrais pouvoir appeler tout ce qui est public dans B
    Attention cependant aux conflits de nom de VBAProject qu'il faudra renommer en VBAProjectB par exemple

    La solution la plus simple étant d'intégrer en dur ta fonction dans ton classeur pour éviter les problèmes de liens et noms entre autres

  3. #3
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Dessinateur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Déclaration dynamique
    Merci Kiki29,

    je connais cette façon de faire mais ce que je recherche c'est de créer une déclaration dynamique sans passer par un fichier dll.
    Ce sont des macros Autocad, et le fichier COM_Log.dvb que je veux référencer dynamiquement contient énormément de fonctions utiles à tous les autres projets que je développe séparemment.
    Je n'arrive pas convertir ce volumineux fichier COM_Log.dvb en COM_Log.dll, alors il faudrait que je le cible dynamiquement au début d'une macro pour pouvoir me servir des nombreuses fonctions qu'il contient.
    Comme j'ai besoin de 15 à 20 fonctions de ce fichier COM_Log.dvb, et parfois plus, alors ce serait un gros travail de les incorporer projet par projet, car j'ai plus de 100 projets maintenant.
    Il s'agit d'un programme de ferraillage que je développe et qu'on peut trouver sur mon site SolidRcad.fr, avec quelques explications complémentaires.
    Merci encore pour l'aide.

  4. #4
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Dessinateur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut DÉBUT DE SOLUTION
    Bonjour à tous,

    je viens de trouver une piste avec ce code qui semble fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ThisDrawing.Application.VBE.ActiveVBProject.References.AddFromFile _
     ("C:\Program Files\Solidrcad\J_Commun\COM_Log.dvb")
    On peut ensuite se servir des fonctions et des routines qui appartiennent à ce fichier "COM_Log.dvb".

    Je vais encore faire d'autres tests et je posterai mes commentaires ultérieurement.
    Si quelqu'un a dejà utilisé cette méthode, ses remarques m'intéressent également.

    Bonne journée.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/04/2006, 22h11
  2. Comment declarer une fonction ou procedure globale
    Par manubrard dans le forum Langage
    Réponses: 8
    Dernier message: 21/02/2006, 14h21
  3. Réponses: 3
    Dernier message: 15/12/2005, 22h04
  4. declaration de fonction
    Par jeannot27 dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/04/2004, 10h31
  5. Declaration de fonction retournant un pointeur sur fonction
    Par pseudokifaitladifférence dans le forum C
    Réponses: 5
    Dernier message: 11/08/2003, 19h37

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