Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Homme Profil pro jean marc reichert
    Dessinateur
    Inscrit en
    octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Nom : Homme jean marc reichert
    Localisation : France, Moselle (Lorraine)

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

    Informations forums :
    Inscription : octobre 2012
    Messages : 3
    Points : 0
    Points
    0

    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 :
    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 Confirmé Sénior

    Homme Profil pro Philippe
    ex Observeur CGG / Analyste prog.
    Inscrit en
    juin 2006
    Messages
    2 541
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : juin 2006
    Messages : 2 541
    Points : 5 867
    Points
    5 867

    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
    Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Répondre avec citation )
    Balisez votre code après l'avoir indenté sous Excel via Smart Indenter
    Autres utilitaires : MZ Tools 3.0 VBA et 7Zip

    Contributions : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator et Téléchargements

  3. #3
    Invité de passage
    Homme Profil pro jean marc reichert
    Dessinateur
    Inscrit en
    octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Nom : Homme jean marc reichert
    Localisation : France, Moselle (Lorraine)

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

    Informations forums :
    Inscription : octobre 2012
    Messages : 3
    Points : 0
    Points
    0

    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
    Invité de passage
    Homme Profil pro jean marc reichert
    Dessinateur
    Inscrit en
    octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Nom : Homme jean marc reichert
    Localisation : France, Moselle (Lorraine)

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

    Informations forums :
    Inscription : octobre 2012
    Messages : 3
    Points : 0
    Points
    0

    Par défaut DÉBUT DE SOLUTION

    Bonjour à tous,

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

    Code :
    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •