1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| 'code de départ proposé par iclic
'post: http://www.developpez.net/forums/d1271406/autres-langages/general-visual-basic-6-vbscript/vb-6-anterieur/tester-structure-type-nest-null/#post6943253
Option Explicit
Private Type DonneeMontage
nId As Integer
nDo() As Long ' <--- ATTENTION, au depart, dans l'exemple de iclic, variable non tableau
End Type
Private Sub Form_Load()
Dim ListVehTram() As DonneeMontage
ReDim ListVehTram(0) 'pour essai avec un tableau de 1 élément
'ReDim ListVehTram(50) 'pour essai avec un tableau de 50 éléments
If IsDonneeMontageInitialized(Not ListVehTram, ListVehTram) = "" Then
MsgBox "non initialisé", vbCritical, "iclic"
Else
MsgBox "Nbr. d'index du Tableau = " & IsDonneeMontageInitialized(Not ListVehTram, ListVehTram), vbInformation, "iclic"
'pour pousser le bouchon plus loint, ma contribution
ReDim ListVehTram(0).nDo(5) 'pour essai avec un tableau de 1 élément et un sous tableau de 6 éléments
If IsSousTblInitialized(Not ListVehTram(0).nDo, ListVehTram) = "" Then
MsgBox "Nbr. d'index du Tableau interne non initialisé", vbCritical, "ProgElecT"
Else
MsgBox "Nbr. d'index du Tableau interne = " & IsSousTblInitialized(Not ListVehTram(0).nDo, ListVehTram), vbInformation, "ProgElecT"
End If
End If
End Sub
Private Function IsDonneeMontageInitialized(ByRef quoi, arr() As DonneeMontage) As String
If Not quoi Then IsDonneeMontageInitialized = UBound(arr) + 1
End Function
'ma contribution
Private Function IsSousTblInitialized(ByRef quoi, arr() As DonneeMontage) As String
If Not quoi Then IsSousTblInitialized = UBound(arr(0).nDo) + 1
End Function |
Partager