Bonsoir tous le monde,

je suis en train de ma casser les dents sur un bout de code que j'ai crée qui me permet d'extraire, des donnés d'une chaîne de caractère, voici la façon dont elle se présente :
Vehicule : BMW S3 120CV
Equipage : 01- COND LAURENZO LAMAS
02- CHEF PIERROT LE CLOWN
03- CHEF ALAIN MARTIN

Vehicule : AUDI TT 200 CV
Equipage : 01- COND JAMES BOND
02- CHEF MARC FLAMBY
03- CHEF VODKA PIERRE
04- CHEF DURANT MARTIN
05- CHEF MARTIN LUCIEN
Sachant qu'il peut y avoir plusieurs Vehicule et l'équipage par vehicule est compris entre 01 et 09 maximum.

j'ai donc crée ceci pour stocker mes données extraites dans un tableau :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Dim enregistre(30, 5) As String
    'tableau ---------------> ENREGISTRE
    '======================================================================
    ' | vehicule | fonction | Nom & Prenom |
    '======================================================================
    ' | BMW     | 01-      | JAMES BOND   |
 
        For Each ligne As String In TextBox1.Text.Split(ControlChars.NewLine)
    Dim debut_ve As Integer = datas.IndexOf("Vehicule : ") + 11 'entier qui repére le nom vehicule et ajoute 11
    Dim fin_ve As Integer = datas.IndexOf(ControlChars.NewLine, debut_ve) 'entier qui repére la fin de la ligne
    Dim longeur_ve As Integer = fin_ve - debut_ve 'soustrait la fin du début de la postion de vehicule
    Dim vehicule_extrait As String = datas.Substring(debut_ve, longeur_ve)
    Dim vehi_tab() As String = vehicule_extrait.Split(New String() {}, StringSplitOptions.RemoveEmptyEntries)
    Dim vehicule As String = vehi_tab(0)
 
    Dim i As Integer
    Dim e As Integer
    Dim lafonction As String
            For e = 0 To 100
                For i = 1 To 50 
                    lafonction = "0" & i & "-" 'on boucle sur le nombre de fonction
                    If datas.Contains(lafonction) Then
    Dim debut_la As Integer = datas.IndexOf(lafonction) + 3
    Dim fin_la As Integer = datas.IndexOf(ControlChars.NewLine, debut_la)
    Dim longeur_la As Integer = fin_la - debut_la
    Dim equipage_la As String = datas.Substring(debut_la, longeur_la)
    Dim lesnom() As String = equipage_la.Split(New String() {}, StringSplitOptions.RemoveEmptyEntries)
    Dim lenom As String = Nothing 'on vide la var avant de la remplir sinon les nom s'ajoute a la suite
                        For j As Integer = 1 To lesnom.Length - 1
                            lenom += lesnom(j) & " "  'on récupére juste le nom et le prenom -> a partir de lesnom(02)
                        Next j
                        enregistre(e, 0) = vehicule
                        enregistre(e, 1) = lafonction
                        enregistre(e, 2) = lenom
                        e = +1 'on incrémente le tableau enregistrement
                    End If
                Next i
            Next e
        Next
Le problème c'est que ce code bloucle toujours sur l'équipage du premier véhicule trouvé, il tourne indéfinimément en remplissant mon tableau enregistre des 3 première personnes concerné par le véhicule !