Tableau à plusieurs dimensions

B

Boyboy

Guest
Bonjour,

Bonne année 2006 à tout le forum !

J'ai eu beau chercher partout, je ne trouve pas mon bonheur.
J'essaye de créer un tableau en VB de cette façon :
Dim tablo(3, 2)
tablo() = Array(Array(11, 12, 13), Array(21, 22, 23), Array(31, 32, 33))

Donc plusieurs lignes et plusieurs colonnes.
Est-ce la bonne façon de le créer? sachant que j'aimerais éviter le code suivant :
tablo(0, 0) = 11
tablo(0, 1) = 12
tablo(0, 2) = 13
tablo(1, 0) = 21
tablo(1, 1) = 22
tablo(1, 2) = 23
tablo(2, 0) = 31
tablo(2, 1) = 32
tablo(2, 2) = 33

Et ensuite j'aimerais accéder aux valeurs de ce tableau.
Comment faire?
comme ceci :
MsgBox userrights(1, 1)
MsgBox userrights(2, 1) ???

Je vous remercie par avance.

Boyboy
 

Hervé

XLDnaute Barbatruc
Bonjour boyboy, gdavid :)

Je ne pense pas que tu puisses utiliser ce type de syntaxe avec un tableau à plusieurs dimensions.

Il va te falloir soit passer par une boucle, soit créer le tableau à partir d'une liste se trouvant dans une feuille :

cas de la boucle :


Sub Bouton1_QuandClic()
Dim item As Variant
Dim tablo(3, 2)
Dim colonne As Integer
Dim ligne As Integer

colonne = 0
ligne = 0

For Each item In Array('11', '12', '13', '21', '22', '23', '31', '32', '33')
       
If colonne = 3 Then ligne = ligne + 1: colonne = 0
        tablo(ligne, colonne) = item
        colonne = colonne + 1
Next item

Range('a1').Resize(UBound(tablo, 1) + 1,
UBound(tablo, 2) + 1) = tablo 'pour test
End Sub


cas de la liste :

en imaginant tes données commencant en A1

dim tablo as variant
tablo=range('a1').currentregion

salut
 

Discussions similaires

Réponses
0
Affichages
141

Statistiques des forums

Discussions
312 149
Messages
2 085 771
Membres
102 970
dernier inscrit
JMaurice