OVH Cloud OVH Cloud

question sur tableau ou bug ?

5 réponses
Avatar
patoche98
Bonjour

J essaye de redimensionner un tableau =E0 2 dimensions et=20
cela ne marche pas. est ce un bug de vb6 ?

Dim t() As String
ReDim t(0, 1)
......
ReDim Preserve t(1, 1)

si j enleve le mot cl=E9 preserve ca marche, mais le prog=20
ne sert plus a rien puisqu il ne garde plus les donn=E9es=20
deja rentr=E9es.

c pas cool ca ?
@+

5 réponses

Avatar
Jérôme VERITE
Bonjour

quand on fait un redim preserve, on ne peut redimensionner que la derniere
dimension.
une laternative est de faire un tableau de tableau, peut être en utilisant
un type contenant un talbeau.

Jérôme

"patoche98" a écrit dans le message de
news: 0bbd01c394a6$0bbccb30$
Bonjour

J essaye de redimensionner un tableau à 2 dimensions et
cela ne marche pas. est ce un bug de vb6 ?

Dim t() As String
ReDim t(0, 1)
......
ReDim Preserve t(1, 1)

si j enleve le mot clé preserve ca marche, mais le prog
ne sert plus a rien puisqu il ne garde plus les données
deja rentrées.

c pas cool ca ?
@+
Avatar
Axel Guerrier [MS]
Bonjour,

En fait, si tu veux faire un Redim Preserve, tu ne peux redimensionner que
la dernière dimension.
cf MSDN

--
Axel GUERRIER
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.

"patoche98" wrote in message
news:0bbd01c394a6$0bbccb30$
Bonjour

J essaye de redimensionner un tableau à 2 dimensions et
cela ne marche pas. est ce un bug de vb6 ?

Dim t() As String
ReDim t(0, 1)
......
ReDim Preserve t(1, 1)

si j enleve le mot clé preserve ca marche, mais le prog
ne sert plus a rien puisqu il ne garde plus les données
deja rentrées.

c pas cool ca ?
@+
Avatar
Christophe
Bonjour,
Dans un tableau VB seul une dimension peut-être redimensionnée
dynamiquement.
Christophe Vergon
"patoche98" a écrit dans le message de
news: 0bbd01c394a6$0bbccb30$
Bonjour

J essaye de redimensionner un tableau à 2 dimensions et
cela ne marche pas. est ce un bug de vb6 ?

Dim t() As String
ReDim t(0, 1)
......
ReDim Preserve t(1, 1)

si j enleve le mot clé preserve ca marche, mais le prog
ne sert plus a rien puisqu il ne garde plus les données
deja rentrées.

c pas cool ca ?
@+
Avatar
Hervé
Salut patoche,
Comme les autres te l'ont dit, tu ne peux que redimensionner la 2ème. Tu
peux par contre éssayer de changer la position de tes valeurs dans le
tableau en fait, les inverser. Voici un petit exemple tout bête :
Sub Tableau()
Dim Tbl() As String
Dim I As Integer, J As Integer
'1 to 2 = lignes, 1 to 10 = colonnes
ReDim Tbl(1 To 2, 1 To 10)
For I = 1 To 2
For J = 1 To 10
Tbl(I, J) = I + J
Next J
Next I

ReDim Preserve Tbl(1 To 2, 1 To 15)

For I = 1 To 2
For J = 11 To 15
Tbl(I, J) = I + J
Next J
Next I

For I = 1 To UBound(Tbl, 2)
Debug.Print "colonne " & I
Debug.Print "ligne 1 """ & Tbl(1, I) & _
"""" & " ligne 2 """ & Tbl(2, I) & """"
Next

Erase Tbl
End Sub

Hervé.

"patoche98" a écrit dans le message
news: 0bbd01c394a6$0bbccb30$
Bonjour

J essaye de redimensionner un tableau à 2 dimensions et
cela ne marche pas. est ce un bug de vb6 ?

Dim t() As String
ReDim t(0, 1)
......
ReDim Preserve t(1, 1)

si j enleve le mot clé preserve ca marche, mais le prog
ne sert plus a rien puisqu il ne garde plus les données
deja rentrées.

c pas cool ca ?
@+
Avatar
François Picalausa
Bonjour/soir,

en complément, pour palier à ce "problème" tu peux soit:
-employer des collections
-employer des tableaux de tableaux
-Vérifie que si la seconde dimension ne change pas, tu peux l'utiliser comme
première dimension et vice versa.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"patoche98" a écrit dans le
message de news:0bbd01c394a6$0bbccb30$
Bonjour

J essaye de redimensionner un tableau à 2 dimensions et
cela ne marche pas. est ce un bug de vb6 ?

Dim t() As String
ReDim t(0, 1)
......
ReDim Preserve t(1, 1)

si j enleve le mot clé preserve ca marche, mais le prog
ne sert plus a rien puisqu il ne garde plus les données
deja rentrées.

c pas cool ca ?
@+