Pb de redim 2D

FrostByte Messages postés 138 Date d'inscription mercredi 4 avril 2001 Statut Membre Dernière intervention 28 janvier 2006 - 9 févr. 2004 à 17:56
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 - 9 févr. 2004 à 20:08
bonjour les gens !!!! ;) j'ai des petits pbs avec un petit redim lorsque je tente un redim sur un tableau en 2 d j'obtiens une erreure indice en dehors de plage (N°9), et pourtant j'ai cherché sur le forum mais rien n'a su m'aidé !!
Public LogFile As String
Public tempFile As String
Public tempFolder As String
Public tempFN As String
Dim tabExt() As Long

Private Sub CmdSelEx_Click()
Dim i As Integer, k As Integer, j As Integer
Dim Chaine As String, test As String
Dim Testb As Boolean
Testb = True
Do
Open tempFolder & LstFile.List(j) For Input As #1
        j = j + 1
While Not EOF(1)
    Input #1, Chaine
    If Chaine <> "[Extensions]" Then
        Do
        If Right(Left(Chaine, k), 1) = "=" Then
        'MsgBox Left(Chaine, k - 1)
        LstExt.AddItem Left(Chaine, k - 1)
        tabExt(i, j) = tabExt(i, j) + Int(Right(Chaine, Len(Chaine) - k))
        'MsgBox "extension : " & Left(Chaine, k - 1) & " nb : " & tabExt(i)
        k = k + 1
        Else
        k = k + 1
        'MsgBox Right(Left(Chaine, k), 1)
        'MsgBox Right(Chaine, Len(Chaine) - k)
        End If
        Loop Until Right(Left(Chaine, k - 1), 1) = "="
        k = 0
    End If
        i = i + 1
        If Testb <> False Then
        ReDim Preserve tabExt(1 To i, 1 To LstFile.ListCount) <----erreur
        End If
Wend
Close #1
i = 0
Testb = False
Loop Until j = LstFile.ListCount

End Sub


Comment faire pour supprimer cette erreur !!!!

Merci d'avance FrostByte

2 réponses

cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
9 févr. 2004 à 18:46
labout

Il faut dimensionner le tableau avant. Un tableau multidimensionnel ne peut être agrandi.
Il suffit de prevoir large puis ensuite on ne prends que les éléments non vides.

@+
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
9 févr. 2004 à 20:08
Seule la dernière dimension du tableau peut être modifiée

i = i + 1
If Testb <> False Then
ReDim Preserve tabExt(1 To i, 1 To LstFile.ListCount) <----erreur
0
Rejoignez-nous