Orgeat_2006
Messages postés8Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention 6 octobre 2006
-
28 sept. 2006 à 13:35
Rabe -
23 janv. 2017 à 11:44
Bonjour,
La question a déjà été posée en 2003 sans réponse apparemment.
Je retente :
Sous VBA Excel, comment peut-on partager un module de classe avec d'autres projets ?
J'ai essayé macro complémentaire .xla, Référence puis Dim as New mais la classe n'est pas reconnue.
Apparemment, on pourrait accéder aux modules mais pas aux modules de classe ...
Orgeat_2006
Messages postés8Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention 6 octobre 2006 28 sept. 2006 à 17:25
J'ai un peu avancé, en déclarant le module de classe public (parce qu'il était private).
Mais sur :
Dim essai as New maClasse
j'ai une erreur du genre "Mauvaise utilisation de New".
Pourtant maintenant, je vois maClasse dans l'aide à la frappe, ainsi que ses propriétés et méthodes ...
Alors qu'est-ce qui ne lui va pas ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Orgeat_2006
Messages postés8Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention 6 octobre 2006 28 sept. 2006 à 17:58
OK j'ai trouvé.
On peut utiliser des objets déjà déclarés mais pas les déclarer.
Il faut donc créer dans un module standard une Function New_maClass() as maClass qui fait la déclaration, et qui elle, est accessible de l'extérieur.
C'est nul mais c'est comme ça ...
Deux jours que je cherche, merci.
Et attention à la subtilité (quoique logique), c'est bien dans un module standard qu'il faut créer la Function New_maClass() as maClass.
Parfait pour utiliser des classes mises dans des macros complémentaires.