Problème de tableau (décomposé des phrases)

Résolu
cs_neotof Messages postés 75 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 3 décembre 2012 - 16 déc. 2007 à 14:29
cs_neotof Messages postés 75 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 3 décembre 2012 - 16 déc. 2007 à 15:03
<hr style="color: rgb(209, 209, 225);" size="1" />
<!-- / icon and title -->
<!-- message -->



Bonjour ,


donc j ai une variable tableau avec plusieurs phrases et je voudrais decomposé toute ces phrases en mots donc voici mon code:

Dim str_mot As String
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim tab_chaine() As String
   
       
        For i = 0 To UBound(tab_phrase)
       
            k = 0
           
            tab_phrase(i) = tab_phrase(i) + " "
            MsgBox tab_phrase(i)
            For j = 1 To Len(tab_phrase(i))
               
                str_mot = str_mot + Mid(tab_phrase(i), j, 1)
               
                    If Mid(tab_phrase(i), j, 1) = " " Then
                   
                        k = k + 1
                       
                        ReDim Preserve tab_chaine(0 To i, 1 To k)
                       
                        tab_chaine(i, k) = RTrim(str_mot)
                       
                        MsgBox i
                        MsgBox k
                       
                        str_mot = ""
                       
                    End If
                   
            Next j
               
        Next i

La 1 er phrase est decomposé mais quand il arrive à la deuxieme ça
plante : indice en dehors de la plage et me souligne cette ligne ReDim
Preserve tab_chaine(i, k) pourtant i vaut la deuxieme phrase et k vaut
1 pour le 1 er mot


meric d avance pour votre aide

3 réponses

mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
16 déc. 2007 à 14:44
Salut.

Quand tu fais un redim preserve sur un tableau, il est impossible de toucher les  paramètres à part le dernier.
si tu commences avec Tab(1 to x,1 to y, 1 to z, 1 to t), il faut garder les 1 to x, 1 to y, et 1 to z. Seul le 1 to t peut être changé (sinon ça va planter.)

 Pourapprendretoujoursplus!
3
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
16 déc. 2007 à 14:50
Ps: une solution serait donc de mettre 1 to i le nombre de phrases définitivement avec redim (sans le preserve) avant de lire le tableau, puis de faire un redim preserve  sur le 1 to k seulement si le nombre de mots de la phrase que tu cherches est supérieur à ubound(tab_chaine,2)

Le problème c'est que si jamais après tu rajoute une phrase par exemple et que tu veux rajouter les mots de cette phrase dans ton tab_chaine, il faut que tu recommences à partir de zéro en refaisant un redim (sans preserve) en donnant le nombre de lignes exact de ton tableau, etc...

 Pourapprendretoujoursplus!
3
cs_neotof Messages postés 75 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 3 décembre 2012
16 déc. 2007 à 15:03
Merci de ton aide
0
Rejoignez-nous