Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Type défini par l'utilisateur ( Élucubrations ! ? )

1 réponse
Avatar
Pierre Archambault
Bonjour, Bonsoir,

Y a-t-il une façon, par programmation, de connaître les différents éléments
contenus dans une variable du type "défini par l'utilisateur" ?

Je m'explique. Je crée une variable du type "défini par l'utilisateur" comme
ceci par exemple:

Type ClientType
Numéro as Long
Nom as String * 40
Adresse as String * 40
Solde as Currency
End Type
Public Client as ClientType

Plus tard j'ai besoin de passer en revue dans une boucle chacun des "champs"
de cette variable. Il est vrai que je connais les noms de ces éléments
puisque c'est moi qui l'ai créée mais y a-t-il moyen de faire une bouche du
genre de celle-ci:

Dim Champs(1 to Client.NombreDeChamps) As Client.Structure
For i = 1 to Ubound(Champs)
Debug.Print Champs(i).Nom
Debug.Print Champs(i).Longueur
Debug.Print Champs(i).TypeVariable
Next i

N'essayez pas ça à la maison ! Je sais, c'est complètement fou mais...

Merci

Pierre

1 réponse

Avatar
MichDenis
Tu désires quelque chose dans le genre :

Déclaration d'une variable personnalisée
dans le haut d'un module standard
'-------------------------
Type ClientType
Numéro As Long
Nom As String * 40
Adresse As String * 40
Solde As Currency
End Type
'-------------------------


Sub Test()
'Déclaration de la variable...
'Si public -> déclaration dans le haut du module
Dim Mavar() As ClientType

'Définir la taille du tableau
ReDim Mavar(1) ' Tableau de base 0

'Première entrée du tableau
Mavar(0).Nom = "Denis"
Mavar(0).Adresse = "Québec"
Mavar(0).Numéro = 1
Mavar(0).Solde = 0

'Pour retrouver les informations contenues dans la variable
For i = 1 To UBound(Mavar)
Debug.Print Mavar(i).Nom
Debug.Print Mavar(i).Adresse
Debug.Print Mavar(i).Numéro
Debug.Print Mavar(i).Solde
Next i

'Pour chaque élément du tableau, tu peux définir ceci:
For i = 1 To UBound(Mavar)
Debug.Print TypeName(Mavar(i).Nom)
Debug.Print Len(Mavar(i).Nom)
Debug.Print Mavar(i).Nom
Next i

End Sub





"Pierre Archambault" a écrit dans le message de news:
nFodh.69720$
Bonjour, Bonsoir,

Y a-t-il une façon, par programmation, de connaître les différents éléments
contenus dans une variable du type "défini par l'utilisateur" ?

Je m'explique. Je crée une variable du type "défini par l'utilisateur" comme
ceci par exemple:

Type ClientType
Numéro as Long
Nom as String * 40
Adresse as String * 40
Solde as Currency
End Type
Public Client as ClientType

Plus tard j'ai besoin de passer en revue dans une boucle chacun des "champs"
de cette variable. Il est vrai que je connais les noms de ces éléments
puisque c'est moi qui l'ai créée mais y a-t-il moyen de faire une bouche du
genre de celle-ci:

Dim Champs(1 to Client.NombreDeChamps) As Client.Structure
For i = 1 to Ubound(Champs)
Debug.Print Champs(i).Nom
Debug.Print Champs(i).Longueur
Debug.Print Champs(i).TypeVariable
Next i

N'essayez pas ça à la maison ! Je sais, c'est complètement fou mais...

Merci

Pierre