boucler sur toutes les variables d'un type

Tech

XLDnaute Junior
Bonjour chers amis du forum,

Comme stipulé dans le titre du ce post, je cherche à savoir si il est possible de boucler sur toutes les variables qui composent un type que j'ai créé.

Code:
Type DTravail
    Description As String
    Lieu As String
    Date As Long
    Durée As Integer
    HDébut As Integer
    Numéro As Double
end type

le but est d'écrire le contenu de ces variables dans les colonnes de plusieurs tableaux situés sur différentes pages.
je voudrais savoir si je peux faire quelque chose du genre :

Code:
dim ProgTravail as DTravail, TitreVar as string

for each "var"? in ProgTravail 
TitreVar = var.name ??

next

Et avec ça rechercher le titre de la variable dans les titres de colonnes et inscrire le contenu de la variable à la dernière ligne calculée précédemment

Possible, pas possible ?
Merci d'avance pour vos réponses.:)
 

Dranreb

XLDnaute Barbatruc
Re : boucler sur toutes les variables d'un type

Bonjour.
Il n'est hélas pas possible de ranger dans un Variant une variable d'un type défini par l'utilisateur au moyen de l'instruction Type, en revanche il est possible d'en fabriquer des tableaux. Mais du coup il n'est pas possible de l'explorer par des For Each In, ni de les utiliser dans des collections, seulement de boucler sur les indices du tableau.
À moins de passer la vitesse supérieure: définir le type au moyen d'un module de classe.

P.S. Je m'aperçois que j'avais mal compris la question. Non, ce n'est pas possible. Seuls les tableaux de Variant à 2 dimensions peuvent être explorés de cette façon. C'est le mode de représentation par excellence des propriétés Value des objets Range à plusieurs cellules contigües.
Notez que si votre type était défini par un module de classe, vous pourriez l'équiper de méthodes qui le transforment en un tableau de Variant d'une ligne et n colonnes, et vice versa.
 
Dernière édition:

Tech

XLDnaute Junior
Re : boucler sur toutes les variables d'un type

Bonsoir à tous,

Je me doutais que ce n'était pas possible. Enfin à mon niveau de pratique du vba... :D

En tout cas, je me rend compte que les modules de classe solutionnent bien des problèmes en vba.

Merci pour vos réponses.:cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 417
Messages
2 088 254
Membres
103 790
dernier inscrit
Djo Hubs