Tableau multidimensionnel

joquetino Messages postés 12 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 17 octobre 2006 - 26 mars 2006 à 15:06
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 26 mars 2006 à 18:00
Bonjour,

Je travaille actuellement sur un tableau à deux dimensions. J'aimerais l'initialiser selon une variable i (une variable de type Integer). J'ai procédé comme suit :

Dim TableauPrevisionnel(0 To i, 0 To 4) As Variant

Seulement, il m'indique une erreur. Est-ce vraiment impossible de déclarer les dimensions d'un tableau avec une variable? Si oui, comment pourrai-je procéder?

Merci d'avance.

6 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 mars 2006 à 15:19
C'espossible mais pas comme cà.

Dim TableauPrevisionnel() As Variant

Puis dès que tu t'en sers la premiere fois :
ReDim TableauPrevisionnel(0 To i, 0 To 4)

Sinon, le As Variant, je te déconseille fortement : d'un, ca fait chuter les performances (!!!), mais surtout, tu peux lui donner n'importe quel type de données, VB ne dira absolument rien, ce qui est loin d'être pratique !

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
0
Duracelle Messages postés 28 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 16 août 2009
26 mars 2006 à 15:32
Bonjour ,si j'ai bien compris

Dim stab() As String
Dim i As Integer

i = 10
ReDim stab(0 To i, 0 To 4)

Debug.Print "Dimention1 minimum = "; LBound(stab, 1)
Debug.Print "Dimention1 Maxinum = "; UBound(stab, 1)

Debug.Print "Dimention2 minimum = "; LBound(stab, 2)
Debug.Print "Dimention2 Maxinum = "; UBound(stab, 2)

Duracelle
0
FeelCode Messages postés 278 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2006 1
26 mars 2006 à 15:43
Souriez vous ête lu [8D]

note si tu utilise les string utilise les tableau de taie fix
dim montab() * 10 as string
note je em souvien plus de la syntaxe mai sa devrai etre quelque chose dans le genre.c'est surtout valable pour le type string et les tableau de grande taille FIXE :)
0
joquetino Messages postés 12 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 17 octobre 2006
26 mars 2006 à 16:42
Ok, je vais tester. Merci pour vos réponses.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
joquetino Messages postés 12 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 17 octobre 2006
26 mars 2006 à 16:46
J'oubliais : si je déclare mon tableau de type variant, c'est que je dois y insérer des objets de type String et d'autres de type Double.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
26 mars 2006 à 18:00
Bonjour,

La bonne syntaxe c'est :
Dim montab() As String * 10

Mais, note que dans le cas d'un tableau, je ne suis pas absolument bien pratique de définir d'avance la longueur (ni plus rapide, d'ailleurs...)

Si tu mélanges deux types de variables, la solution n'est pas de faire un type Variant, mais à faire deux tableaux... Normalement, c'est toujours possible de se débrouiller... L'avantage sera la vitesse de traitement, comme déjà dit par Darkisiou et aussi d'éviter le risque de confusion dans le traitement des données par VB.

Amicalement,
Us.
0
Rejoignez-nous