Partage module de classe

Messages postés
8
Date d'inscription
jeudi 28 septembre 2006
Statut
Membre
Dernière intervention
6 octobre 2006
- - Dernière réponse :  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 !
Afficher la suite 

7 réponses

Messages postés
520
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
3 mars 2008
1
0
Merci
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
Commenter la réponse de olixelle
Messages postés
8
Date d'inscription
jeudi 28 septembre 2006
Statut
Membre
Dernière intervention
6 octobre 2006
0
Merci
Ce serait le PERSO.XLS ?
Commenter la réponse de Orgeat_2006
Messages postés
520
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
3 mars 2008
1
0
Merci
possible je ne sais pas

Rollerman
Commenter la réponse de olixelle
Messages postés
8
Date d'inscription
jeudi 28 septembre 2006
Statut
Membre
Dernière intervention
6 octobre 2006
0
Merci
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 ?
Commenter la réponse de Orgeat_2006
Messages postés
8
Date d'inscription
jeudi 28 septembre 2006
Statut
Membre
Dernière intervention
6 octobre 2006
0
Merci
En fait, le module de classe est PublicNotCreatable.
Super ...
Alors je fais comment, pour sélectionner PublicCreatable ?
Commenter la réponse de Orgeat_2006
Messages postés
8
Date d'inscription
jeudi 28 septembre 2006
Statut
Membre
Dernière intervention
6 octobre 2006
0
Merci
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 ...
Commenter la réponse de Orgeat_2006
0
Merci
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.
Commenter la réponse de Rabe