|
|
|
|
Bonjour,
voilà je fais une petite macro sous excel, et à un moment je dois utilisé un tableau de dimension 2!
'création de tableau Type Tableau ligne() As Integer numéro() As Integer End Type Dim tab1() As Tableau ReDim tab1(J)
C'est normal!
|
Bonjour,
Option Explicit
' Création de tableau
Type Tableau
Ligne As Integer
Numero As Integer
End Type
Type Balance
Nombre(5) As Integer
End Type
Dim Bloc() As Balance
Dim Tab1() As Tableau
'
Sub Essai()
Dim J As Long, Message As String
For J = 1 To 2
ReDim Preserve Tab1(J)
Tab1(J - 1).Ligne = (50 * J)
Tab1(J - 1).Numero = (100 * J)
Next J
For J = 1 To 2
ReDim Preserve Bloc(J)
Bloc(J - 1).Nombre(0) = (10 * J)
Bloc(J - 1).Nombre(1) = (20 * J)
Bloc(J - 1).Nombre(2) = (30 * J)
Bloc(J - 1).Nombre(3) = (40 * J)
Bloc(J - 1).Nombre(4) = (50 * J)
Next J
Message = ""
For J = 1 To 2
Message = Message & Str(Bloc(J - 1).Nombre(0)) & vbLf
Message = Message & Str(Bloc(J - 1).Nombre(1)) & vbLf
Message = Message & Str(Bloc(J - 1).Nombre(2)) & vbLf
Message = Message & Str(Bloc(J - 1).Nombre(3)) & vbLf
Message = Message & Str(Bloc(J - 1).Nombre(4)) & vbLf
Next J
MsgBox Message
End Sub
'
Lupin |
Slt lupin!
Public list() Type Tableau ligne() As Integer numero() As Variant End Type Sub test() Worksheets(2).Activate 'création de tableau Dim tab1() As Tableau ReDim tab1(10, 2) For I = 2 To F = 10 tab1(I).ligne = 8 tab1(I).numero = hu12hu Next I End Sub |
Re :
Option Explicit
Public List()
Type Tableau
' Ici tu déclare 2 variables de type
' tableau () à l'intérieur d'un type
' C'est à mon avis ce qui ne va pas !
Ligne() As Integer
Numero() As Variant
' Il faut déclarer le dimensionnement
' des 2 variables avec une constante
'Ligne(2) As Integer
'Numero(2) As Variant
End Type
'
Sub test()
Dim F As Long
Worksheets(2).Activate
'création de tableau
Dim tab1() As Tableau
ReDim tab1(10)
' Ici tu viens de redimensionner tab1 à 10 donc de [ 0 à 9 ]
' F = 9
For I = 2 To F
' Ici tu accède à la variable Ligne
' sans en préciser la position dans
' le tableau
tab1(I).Ligne = 8
tab1(I).Numero = hu12hu
' On devrait trouver quelque chose
' comme ceci :
'tab1(I).Ligne(0) = 8
'tab1(I).Numero(0) = hu12hu
'tab1(I).Ligne(1) = 8
'tab1(I).Numero(1) = hu12hu
Next I
End Sub
'
Lupin
|