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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
Sub DiviserTableau()
Dim sVariableOriginale(1 To 4, 1 To 3) As String
Dim Tbl1() As String
Dim Tbl2() As String
Dim n As Integer
Dim I As Integer
Dim J As Integer
sVariableOriginale(1, 1) = "Pare-choc"
sVariableOriginale(1, 2) = "Noir"
sVariableOriginale(1, 3) = "Plastique"
sVariableOriginale(2, 1) = "Mur"
sVariableOriginale(2, 2) = "Rouge"
sVariableOriginale(2, 3) = "Brique"
sVariableOriginale(3, 1) = "Guitare"
sVariableOriginale(3, 2) = "Marron"
sVariableOriginale(3, 3) = "Bois"
sVariableOriginale(4, 1) = "Balle"
sVariableOriginale(4, 2) = "Blanche"
sVariableOriginale(4, 3) = "Cuir"
'divise en 2 la 1ère dimension (1 To 4)
'si le nombre est imper les tableaux seront forcément
'différents et le second aura une dim de plus
n = Int(UBound(sVariableOriginale, 1) / 2)
'dimensionne le tableau 1
ReDim Tbl1(1 To n, 1 To UBound(sVariableOriginale, 2))
'rempli le tableau 1 avec la première partie du tableau à diviser
For I = 1 To n
J = J + 1
For J = 1 To UBound(sVariableOriginale, 2)
Tbl1(I, J) = sVariableOriginale(I, J)
Next J
Next I
J = 0
'dimensionne le tableau 2
ReDim Tbl2(1 To UBound(sVariableOriginale, 1) - n, 1 To UBound(sVariableOriginale, 2))
'rempli le tableau 2 avec la seconde partie du tableau à diviser
For I = 1 To UBound(sVariableOriginale, 1) - n
J = J + 1
For J = 1 To UBound(sVariableOriginale, 2)
Tbl2(I, J) = sVariableOriginale(I + n, J)
Next J
Next I
'affichage des résultats dans la fenêtre d'exécution
Debug.Print "---TABLEAU 1---"
For I = 1 To UBound(Tbl1, 1)
Debug.Print Tbl1(I, 1)
Debug.Print Tbl1(I, 2)
Debug.Print Tbl1(I, 3)
Debug.Print "-"
Next I
Debug.Print "---TABLEAU 2---"
For I = 1 To UBound(Tbl2, 1)
Debug.Print Tbl2(I, 1)
Debug.Print Tbl2(I, 2)
Debug.Print Tbl2(I, 3)
Debug.Print "-"
Next I
End Sub |