Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/05/2011, 10h59   #1
En attente de confirmation mail
 
Homme
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 0
Points : 0
Par défaut Problème de tableaux de tableaux (escalier)

Bonjour,

Je suis un peu novice en VBA et je travaille sur un tableau de tableau.

Déclaré comme ceci
matrix_3d = Array(tri_1, tri_2, tri_3)
Où tri_1,2,3 sont eux même des tableaux

Seulement, je ne veux sélectionner qu'une partie de chacun des tableaux.

Je fais une boucle mais à chaque fois j'ai un problème de déclaration.
Imaginons que mon nouveau tableau se nomme tableau2, Comment le déclarer??

Code :
1
2
3
4
5
6
7
8
9
10
For j = 1 To 14
    For i = 1 To 14
 
        For k = 1 To i
            tableau2(k)(i, j) = matrix_3d (k - 1)(i - k + 1 + 13, j)
 
        Next k
 
    Next i
Next j
Merci d'avance..

J'ai déjà réussi à travailler en le transformant en tableau à trois dimension :
Code :
dim tableau2(dim,dim,dim)
et remplacer:
par mais je préfére rester en tableau de tableau.
pti-tom_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 14h16   #2
Membre confirmé
 
Inscription : avril 2008
Messages : 233
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2008
Messages : 233
Points : 216
Points : 216
Pour répondre à ton bésoin, il est plus simple de :
1. déclarer ta variable tableau2 comme un tableau de variant de dimension correspondante au nombre des tableaux que tu veux garder dans ton "tableau des tableaux" ;
2. faire une boucle sur tous les élements du tableau tableau2 ;
3. attribuer à chaque élément une valeur créée dans la boucle (dans ton cas - tableau de 2D aux dimensions souhaitées) ;

N'hésite pas à poser des question si tu n'arrives pas à écrire le code correspondant, on est là pour ça ;-)
green_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 15h42   #3
En attente de confirmation mail
 
Homme
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 0
Points : 0
Par défaut Merci

Ok merci,

Je viens de comprendre pourquoi, un tableau de tableau ne se déclare pas.
Je raisonne sur mon cas où la dimension de tous mes tableaux sont égaux donc instinctivement on pense à dim tableau2 (1to3 )(1to N,1 to N).

Mais en réalité, si on le pouvait, il faudrait déclarer chacune de dimension de chaque tableau.

Merci pour ta réponse. En effet en cela marche bien.

Code :
1
2
3
4
5
Dim tableaux2(1 To 14) As Variant
For i = 1 To 14
    Dim int_tableau(1 To 14, 1 To 14) As Variant
    tableaux2 = int_tableau
Next i
pti-tom_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h38.


 
 
 
 
Partenaires

Hébergement Web