Partage module de classe

Orgeat_2006 Messages postés 8 Date d'inscription jeudi 28 septembre 2006 Statut Membre Derniè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 ...

Merci d'avance !

7 réponses

olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
28 sept. 2006 à 14:00
je sais que sous VBA word, on peut résoudre le pb en mettant dans le normal.dot les macros & classes auquelles on souhaite accéder de partout.

Je ne connais pas l'équivalent pour excel par contre

Rollerman
0
Orgeat_2006 Messages postés 8 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 6 octobre 2006
28 sept. 2006 à 14:55
Ce serait le PERSO.XLS ?
0
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
28 sept. 2006 à 15:06
possible je ne sais pas

Rollerman
0
Orgeat_2006 Messages postés 8 Date d'inscription jeudi 28 septembre 2006 Statut Membre Derniè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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Orgeat_2006 Messages postés 8 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 6 octobre 2006
28 sept. 2006 à 17:43
En fait, le module de classe est PublicNotCreatable.
Super ...
Alors je fais comment, pour sélectionner PublicCreatable ?
0
Orgeat_2006 Messages postés 8 Date d'inscription jeudi 28 septembre 2006 Statut Membre Derniè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 ...
0
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.
0
Rejoignez-nous