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

array / UDT : tableau de type défini par l'utilisateur

2 réponses
Avatar
jean-paul.bataille
Bonjour,

Je d=E9sire utiliser un type personnel "objetAccess" , d=E9fini comme
ceci
Type objetAccess
strNomObjet As String
dateCr=E9ation As Date
dateR=E9vision As Date
End Type

Puis dans une routine je veux affecter des valeurs aux divers =E9l=E9ments
de mon type pour constituer un tableau listeObjet "array"

Sub tst_USD_et_array()

Dim UnObjet As objetAccess
Dim ListeObjet() As Variant

UnObjet.strNomObjet =3D "tata"
UnObjet.dateCr=E9ation =3D #1/2/2009#
UnObjet.dateR=E9vision =3D #12/2/2009#

MsgBox UnObjet.strNomObjet & " " & Format(UnObjet.dateCr=E9ation, "dd
mmm yy")

'?????
ListeObjet(1) =3D UnObjet
MsgBox ListeObjet(1).strNomObjet & """" & ListeObjet(1).dateCr=E9ation
'??????

End Sub

Je planche et s=E9che sur comment placer les valeurs dans le tableau.

merci de votre collaboration
Jean-Paul

2 réponses

Avatar
Michel__D
Bonjour,

D'abord il y a confusion, c'est pas un objet que tu définit avec Type
mais une structure (il faut utiliser Class pour définir une classe d'objet)

Donc :
Type strucAccess
strNomObjet As String
dateCreation As Date
dateRevision As Date
End Type

Sub tst_USD_et_array()

Dim Liste(99) As structAccess

Liste(1).strNomObjet = "tata"
Liste(1).dateCreation = #1/2/2009#
Liste(1).dateRevision = #12/2/2009#

MsgBox Liste(1).strNomObjet & " " & _
Format(Liste(1).dateCreation, "dd mmm yy")

End Sub


a écrit :
Bonjour,

Je désire utiliser un type personnel "objetAccess" , défini comme
ceci
Type objetAccess
strNomObjet As String
dateCréation As Date
dateRévision As Date
End Type

Puis dans une routine je veux affecter des valeurs aux divers éléments
de mon type pour constituer un tableau listeObjet "array"

Sub tst_USD_et_array()

Dim UnObjet As objetAccess
Dim ListeObjet() As Variant

UnObjet.strNomObjet = "tata"
UnObjet.dateCréation = #1/2/2009#
UnObjet.dateRévision = #12/2/2009#

MsgBox UnObjet.strNomObjet & " " & Format(UnObjet.dateCréation, "dd
mmm yy")

'?????
ListeObjet(1) = UnObjet
MsgBox ListeObjet(1).strNomObjet & """" & ListeObjet(1).dateCréation
'??????

End Sub

Je planche et séche sur comment placer les valeurs dans le tableau.

merci de votre collaboration
Jean-Paul


Avatar
Michel__D
Petite correction sur le code fournit.

Type structAccess
strNomObjet As String
dateCreation As Date
dateRevision As Date
End Type

Sub tst_USD_et_array()

Dim Liste(99) As structAccess

Liste(1).strNomObjet = "tata"
Liste(1).dateCreation = #1/2/2009#
Liste(1).dateRevision = #12/2/2009#

MsgBox Liste(1).strNomObjet & " " & _
Format(Liste(1).dateCreation, "dd mmm yy")

End Sub


Michel__D a écrit :
Bonjour,

D'abord il y a confusion, c'est pas un objet que tu définit avec Type
mais une structure (il faut utiliser Class pour définir une classe
d'objet)

Donc :
Type strucAccess
strNomObjet As String
dateCreation As Date
dateRevision As Date
End Type

Sub tst_USD_et_array()

Dim Liste(99) As structAccess

Liste(1).strNomObjet = "tata"
Liste(1).dateCreation = #1/2/2009#
Liste(1).dateRevision = #12/2/2009#

MsgBox Liste(1).strNomObjet & " " & _
Format(Liste(1).dateCreation, "dd mmm yy")

End Sub


a écrit :
Bonjour,

Je désire utiliser un type personnel "objetAccess" , défini comme
ceci
Type objetAccess
strNomObjet As String
dateCréation As Date
dateRévision As Date
End Type

Puis dans une routine je veux affecter des valeurs aux divers éléments
de mon type pour constituer un tableau listeObjet "array"

Sub tst_USD_et_array()

Dim UnObjet As objetAccess
Dim ListeObjet() As Variant

UnObjet.strNomObjet = "tata"
UnObjet.dateCréation = #1/2/2009#
UnObjet.dateRévision = #12/2/2009#

MsgBox UnObjet.strNomObjet & " " & Format(UnObjet.dateCréation, "dd
mmm yy")

'?????
ListeObjet(1) = UnObjet
MsgBox ListeObjet(1).strNomObjet & """" & ListeObjet(1).dateCréation
'??????

End Sub

Je planche et séche sur comment placer les valeurs dans le tableau.

merci de votre collaboration
Jean-Paul