Bonjour à tous,
Je suis déjà intervenu dans plusieurs posts à ce sujet, et vous m'avez donné différentes
pistes que j'ai étudié.
Aujourd'hui, je passe à la mise en pratique et comme je n'arrive toujours pas à réaliser le
Set de ma classe, je me permets de créer ce sujet en espérant bientôt le marquer comme Résolu
grâce à votre aide
La solution que je tente de mettre en oeuvre est basée sur les interventions de rv26t dans ce
post: http://www.developpez.net/forums/d13...cutables-lier/
et sur l'article de Eric Vernié suivant : http://msdn.microsoft.com/fr-fr/library/bb727303.aspx.
1ère étape: Création de la DLL sous Microsoft Visual Basic 2008 Express
Edition
Je lance l'environnement en tant qu'administrateur, et je créé un projet de type bibliothèque
de classe.
Le code est le suivant:
Dans les propriétés du projet, onglet Application, bouton Assembly Information, je coche
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
"Make Assembly code visible":
Je compile via le menu Build et j'obtiens le fichier Alarmes.dll
2ème étape: Création du fichier .tlb
A présent que je dispose du fichier Alarmes.dll, il faut construire la bibiothèque de type
Alarmes.tlb (car celle-ci ne peut pas être générée automatiquement avec la version Express)
Pour cela, j'ai testé 2 solutions qui donnent (à priori) le même résultat:
a) En utilisant Regasm
Je place Regasm.exe dans le même répertoire que Alarmes.dll
J'ouvre la console "invite de commandes" en tant qu'administrateur
Je tape la commande:
b) En utilisant l'outil mis à disposition par Eric Vernié (cf référence de l'article plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part Regasm Alarmes.dll /tlb
haut)
Dans les 2 cas j'obtiens le fichier Alarmes.tlb
3ème étape: Ecriture de la macro sous Excel Office 2007
J'ajoute la référence à la DLL en utilisant le fichier Alarmes.tlb
Dans un module VBA, je tape le code suivant :
Le code est donc déclenché par l'appui sur un bouton (Bouton2).
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Malheureusement, ça ne fonctionne pas.
J'obtiens l'erreur suivante:
L'erreur survient au Set de la classe:
J'ai vraiment besoin de votre aide !!!
Pour commencer, je ne comprends pas à quoi correspond le numéro GUID présent sur la fenêtre "Assembly Information" (cf image jointe), car il n'en est pas question dans les articles en référence. En y mettant le même numéro que celui de la ClassId du code de la classe, je n'arrive plus à générer le fichier .tlb
Je tourne en rond depuis plusieurs jours et je compte sur vos lumières !
(PS: Si l'emplacement de ce post est plutôt dans la section Office VBA, n'hésitez pas à me
le signaler ou à le déplacer)

 

 
		
		 
        

 
			
			


 
			 
   
 


 [MVSE 2008 - VBA 2007] - Créer une DLL VBNet et l'utiliser dans une macro VBA
 [MVSE 2008 - VBA 2007] - Créer une DLL VBNet et l'utiliser dans une macro VBA
				




 Répondre avec citation
  Répondre avec citation
Partager