Propriétés d"une classe

sousou

XLDnaute Barbatruc
Bonjour à tous.
Pensez-vous qu'il soit possible de lister (dans une boucle par itération), les propriétés d'une class?
En fait je shouaite faire une procédure qui va remplir les propiétés d'un objet d'une class, et je ne connais pas le nombre de propiétés.

pour faire plus simple il me faudrait quelque chose comme cela:
for each p in maclass.properties
p=une valeur
next

Merci
 

Dranreb

XLDnaute Barbatruc
Classe1 :
VB:
Option Explicit
Public A, B, C
Public Sub Init(ParamArray TP())
   A = TP(0)
   B = TP(1)
   C = TP(2)
   End Sub
Module1 :
VB:
Sub Test()
   Dim O As New Classe1
   O.Init 10, 15, 20
   MsgBox "Vérif: O.A = " & O.A & ", O.B = " & O.B & ", O.C = " & O.C
   End Sub
 

laurent950

XLDnaute Accro
Bonjour Dranred,
y a t'il une possibilité via une procédure d'extraire l'ensemble des propriétés d'une classe Microsoft excel ?

Comme exemple pour une zone de cellule mise en variable Objet comme :
Dim f As Range
Set f = Range(Cells(1, 1), Cells(7, 3))

dans la fenêtre : affichage / fenêtre variable local

sont représenté l'arborescence du range (f objet range) pour toutes les (Expression)

1) il y a un moyen d'extraire ces valeurs vers excel
2) si oui les possibilité par expression

Via une feuille excel (peut être que vous avez déjà pensé a cela pour connaitre le contenu de classe (Microsoft excel peux renseigné)

J'espères que je fais pas fausse route

cdt

Laurent
 

Pièces jointes

  • Objet range extraire expression variable.JPG
    Objet range extraire expression variable.JPG
    83.1 KB · Affichages: 15
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour laurent950,
En aveugle comme ça sans savoir d'avance de quelle classe il s'agira, je ne sais pas faire.
Cela dit un espion mis sur une variable objet permet de consulter toutes ses propriétés.
Et l'explorateur d'objet permet de savoir tout ce qui existe comme membre d'une classe.
Et dans du code, à condition que qu'elle ne soit pas As Object, la frappe d'un point derrière une variable objet explicite suggère aussi tout ce qui existe.
Avec tout ça il y a de quoi s'écrire des procédures d'audit qui reproduisent quelque part tout ce qui caractérise un exemplaire d'objet transmis en argument.
 

laurent950

XLDnaute Accro
Cela dit un espion mis sur une variable objet permet de consulter toutes ses propriétés.

Merci Dranred.
Par exemple comment mettre un espion sur mon exmple soit f qui est instancier de la calsse range ?

J ai pas d idée de se que cela peut être.
Comment cela s écrit s'il vous plaît Dranred ?
Je suis pas assez fort pour tous connaitre, mais je progresse et suis curieux de savoir cela.
Cdt
Laurent
 

sousou

XLDnaute Barbatruc
Bonjour Dranreb.
Ton exemple, m'a permis de voir les choses sous un autre angle et de réussir ce que je voulais faire, même si je ne sais pas encore si ca va me servir, mais j'avais envie d'étudier cette solution.
L'objectif étant de fabriquer une base de données quelconque en ayant le moins de chose à paramétrer quelque soit le nombre de champ de la base
Le tout en utilisant un module de class (chaque propriété de la class correspond à un champ de la base. Il suffit de lui indiquer le nombre champs
Sans doute rien d'extraordinaire pour les costaux du forum....
Un exemple ci-joint
Merci encore
 

Pièces jointes

  • class.xlsm
    36.6 KB · Affichages: 10

Dranreb

XLDnaute Barbatruc
Bonjour.
Ça ne me paraît pas apporter grand chose de ranger les lignes d'une base dans des objets pour la traiter dans un UserForm.
Ça s'inscrit plutôt dans le cadre de l'utilisation de mon objet ComboBoxLiées, éventuellement complétée par celle d'un ControlsAssociés.
C'est mieux si la base est mise sous forme de tableau (ListObject)
 

Dranreb

XLDnaute Barbatruc
Veux tu que j'équipe ton classeur des modules de service nécessaires ?
Remarque: j'ai un complément .xlam à installer pour le ComboBoxLiées mais pas pour le ControlsAssociés (Il faudrait que je me décide un jour soit à intégrer le second au 1er soit à en créer un séparé).
 

Discussions similaires

Réponses
3
Affichages
316
Réponses
2
Affichages
549

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87