code matrice

debutantn1

XLDnaute Junior
Salut à tous,

On m'a filé un fichier excel à étudier et je ne comprend pas une partie du code.
ReDim TABLEAU(1, cREF)
For k = 1 To UBound(REF, 1)
If IsEmpty(REF(k, 6)) = False Then TABLEAU(1, REF(k, 6)) = Sheets(FEUIL + "0").Cells(L1, REF(k, 4)).Resize(l - L1 + 1, 1)
Next k
ReDim MATRICE(UBound(TABLEAU(1, 1), 1), UBound(TABLEAU, 2))
For i = 1 To UBound(MATRICE, 1)
For j = 1 To UBound(MATRICE, 2)
MATRICE(i, j) = TABLEAU(1, j)(i, 1)
Next j
Next i

Cela fait partie d'une macro qui prend des données sur un onglet, les retraite dans une matrice virtuelle, et les colle dans un ordre et un format défini sur un autre onglet. Ce n'est pas moi qui ai fait ce code et j'ai donc du mal à le debogger: l'avant, avant dernière ligne bloque. Si quelqu'un saurait me dire ce que ce code signifie cela me serait tres utile.

merci, paul
 

porcinet82

XLDnaute Barbatruc
Re : code matrice

Salut,

Waooooo, c'est un code pour l'ami Hervé ca !!!!
Plusieurs tableaux à plusieurs dimensions, c'est chaud de le comprendre comme ca, sans avoir en plus, le reste du code.

Par contre, c'est vrai que la ligne TABLEAU(1, j)(i, 1) me semble un peu étrange, c'est toi qui la mise ainsi ?
Parce que je verrais a la limite un truc comme ca TABLEAU(i, j)

Sinon, je pense que le fichier avec la macro entière sans données confidentielles nous aiderai a y voir plus claire.

@+
 

porcinet82

XLDnaute Barbatruc
Re : code matrice

re,

Ubound(TABLEAU) renvoie le plus grand indice disponible pour la dimension du tableau TABLEAU.
Ensuite, tu peux rajouter des indices pour définir de quelle dimension tu veux avoir la plus grande dimension.

Et REF n'est pas une commande, il s'agit simplement du nom d'un tableau qui doit déclaré quelque part auparavant dans le code.

@+
 

Discussions similaires

Réponses
11
Affichages
361
Réponses
12
Affichages
299

Statistiques des forums

Discussions
312 581
Messages
2 089 917
Membres
104 306
dernier inscrit
Bouhlal