[Connaitre liste des variables d'une collection]

Hello le forum!

Je dois lister le type des variables qui composent les instances de ma collection, pour ce faire je dois donc (à mon avis) créer une boucle sur l'ensemble des variables puis utiliser typename().

EX:

MaCollection est composée de X instances de MonInstance.

MonInstance est composée de 3 variables : Nom, Prenom, Age.

En gros je visualise le code de cette manière:

Dim ListeTypeVariable as string

For each Variable in MonInstance

ListeTypeVariable = ListeTypeVariable & " " & typename(variableX)

next Variable

Dans l'espoir d'avoir en résultat un bidule du genre: "String, String, Integer"

Le hic c'est que je ne trouve pas comment parcourir la liste des variables de ma classe instance afin de créer ma boucle.... Toute idée est la bienvenue

Vous remerciant par avance ,

Bisous/Bécots!

Bonjour,

Cela m'a l'air un peu confus, et tu devrais mettre un exemple (fichier) qui permette de voir plus clair sur ce que tu mets en place...

La question me paraît d'autant moins claire qu'un partie de ta description fait plutôt penser à un type de donnée personnalisé créé avec l'instruction Type. Les éléments de ce type de donnée peuvent être eux de type String ou Integer ou autre... Et tu peux effectivement constituer une collection d'objets dont le type de donnée sera ton type personnalisé. Mais pourquoi vouloir extraire alors le type de données élémentaires que tu aurais toi-même défini au départ.

C'est par ailleurs la fonction VarType qui te permet de renvoyer un type de donnée...

On parcourt les éléments d'une collection en utilisant une variable objet : For Each X In MaCollection...

Cordialement.

Hello MFerrand!

Ci-joint une version ultra light de mon projet.

En gros je veux pouvoir lister dans un array le type des variables qui composent ma collection "ensemble" de classes "instance" (en l’occurrence "STRNIG, STRING, DATE").

D'avance merci!

8exemple.xlsm (17.92 Ko)

Cela tu l'obtiens facilement en modifiant la fin de ta proc., ainsi par exemple [on peut faire autrement...]

    With N.Item(1)
        MsgBox Join(Array(TypeName(.Var1), TypeName(.Var2), TypeName(.Var3)), ", ")
    End With

Je garde ton fichier pour l'examiner plus en détail à loisir, car tes méthodes me paraissent plutôt compliquées...

Cordialement.

Hello MFerrand!

Merci pour ton retour! Je me suis mal exprimé, en gros je veux pouvoir "scanner" la liste des variables qui composent une classe et travailler dessus sans avoir à les écrire une à une (comme dans ton exemple).

Pour ce faire j'ai envie de faire une boucle du type :

"For each Variable in MonInstance

ListeTypeVariable = ListeTypeVariable & " " & typename(variableX)

next Variable"

A cette heure je n'ai toujours pas trouvé de solution... A ton avis est ce réalisable?

Bisous/Bécots

A mon avis non... !

Je viens de songer à une escroquerie en intégrant dans chaque classe un string récapitulant la composition de cette classe.

Ça va me dépanner même si je continue de chercher

En tout cas merci à toi

Rechercher des sujets similaires à "connaitre liste variables collection"