Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Ou trouver une introduction aux modules de classes ?
auteur : Michel Blavin
Le tutoriel présente les modules de classes et la Programmation Orientée Objets (POO) avec Visual Basic pour Application (VBA). Après un bref rappel sur les objets, l'article propose une mise en application les principes et fonctionnalités des Modules de classes. Ce cours utilise des exemples Access, mais fonctionne aussi dans Excel.

Consultez le tutoriel.



Comment utiliser une classe dans un projet autre que celui dans lequel il est déclaré ?
auteurs : Tirex28, SilkyRoad
Si vous souhaitez que tous les classeurs Excel puissent disposer d'une même classe, placez le module de classe dans un complément (macro complémentaire).

Pour chaque module de classe de la macro complémentaire:
Affichez la fenêtre "propriétés" du complément (Raccourci clavier F4 lorsque vous êtes dans l'éditeur de macros).
Choisissez la valeur PublicNotCreatable pour la propriété Instancing.
Vous pouvez renommer le projet: Menu Outils/Propriétés/Champ "Nom du projet"/Cliquez sur le bouton OK.
Ajoutez une fonction publique dans un module standard du complément, renvoyant une instance de la classe.

Exemple si votre classe s'appelle Classe1:
Vba

Public Function GetClasse1() As Classe1
    Set GetClasse1 = New Classe1
End Function
Ensuite, dans chaque classeur utilisant les classes de la macro complémentaire, activez la référence vers celle-ci:
Dans l'éditeur de macros,
Menu Outils
Références
Cochez la ligne correspondant au nom du projet.
Cliquez sur le bouton OK pour valider.


Vous pouvez ainsi déclarer des variables du type de vos modules de classe, en dehors de la macro complémentaire.
Par contre, pour créer les objets, vous devez impérativement passer par les fonctions publiques de la macro complémentaire.

Exemple:

Vba

Dim MaClasse As Classe1
 
Sub Test()
    'Set MaClasse = New Classe1 'Ne fonctionne pas
    Set MaClasse = GetClasse1 'Fonctionne    
End Sub


precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2008  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com