Référence à un champ d'un type défini par l'utilisateur

Résolu
lerian01 Messages postés 8 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 21 août 2010 - 17 nov. 2007 à 14:32
lerian01 Messages postés 8 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 21 août 2010 - 17 nov. 2007 à 16:12
Bonjour,

J'ai une question sans doute très simple pour les férus de VB/VBA.
Mon problème est le suivant :

Mon application utilise un type que j'ai du définir moi même. Disons :

Public Type WaferRecord
    Lot        As String * 12    'Champ 1
    Slot       As Integer     'champ2
End Type

Dans mon appli, j'ai besoin tantôt d'accéder au premier champ, tantôt au second, mais ceci n'est pas défini à l'avance.

J'aimerai savoir s'il est possible de se référer aux champs d'un type défini par l'utilisateur par un indice et non par leur nom,
comm s'il s'agissaient des "cases" d'un tableau.
Du genre écrire quelque chose comme :

For i=0 to 1
    debug.print WaferRecord.element(i)
Next

au lieu de devoir écrire explicitement

debug.print WaferRecord.Lot
debug.print WaferRecord.Slot

Evidemment, j'ai énormément simplifié ; mon application utilise des types avec beaucoup plus de champs qui justifient ma question.
Merci par avance pour toute réponse.

Cordialement
Yannick

2 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 nov. 2007 à 15:49
Salut,

Cela n'a pas vraiment de sens de faire ce que tu cherche à faire vu que les 2 champs en questions n'ont pas le même type !

A la limite, tu peux toujours faire une classe avec des getters/setters pour représenter tes deux champs, et une fonction générique get qui te renverra un Object (et non un type définit !) selon l'index que tu lui passera.
______________________________________
DarK Sidious
3
lerian01 Messages postés 8 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 21 août 2010
17 nov. 2007 à 16:12
Merci.
En effet, dans le cas simplifié que j'ai donné, ça n'a pas trop de sens.
En fait, dans mon appli, j'utilise un tableau de structures qui ont plus de champs, dont deux qui sont de type "Double".
J'ai tantôt besoin de trier mon tableau avec comme clef le premier de ces champs, tantôt le second.

La routine de tri, qui compare des "Doubles", est donc la même dans les deux cas, mais j'aimerai pouvoir lui passer en argument lequel de ces champs elle doit utiliser comme clef selon les cas.

Par contre, je suis désolé, mais je ne comprends pas grand chose aux pistes que vous me suggérez.Je ne suis pas assez expérimenté
Pouvez vous me donner quelques exemples simples ?

Cordialement

Yannick
0
Rejoignez-nous