Précédent   Forum du club des développeurs et IT Pro > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 26/10/2012, 14h58   #1
SolidRcad
Invité de passage
 
Homme jean marc reichert
Dessinateur
Inscription : 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.
SolidRcad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2012, 14h31   #2
kiki29
Expert Confirmé Sénior
 
Homme Philippe
ex Observeur CGG / Analyste prog.
Inscription : juin 2006
Messages : 2 298
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 298
Points : 5 594
Points : 5 594
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 Citer )
Balisez votre code après l'avoir indenté sous Excel via Smart Indenter
Autre utilitaire : MZ Tools 3.0 VBA

Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2 3
kiki29 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/11/2012, 07h47   #3
SolidRcad
Invité de passage
 
Homme jean marc reichert
Dessinateur
Inscription : 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.
SolidRcad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2012, 07h56   #4
SolidRcad
Invité de passage
 
Homme jean marc reichert
Dessinateur
Inscription : 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.
SolidRcad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h25.


 
 
 
 
Partenaires

Hébergement Web