coucou,

j'essaye d'ecrire un code de 2 facon différentes voici la premiere qui ne fonctionne pas


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
 
Open NomFic For Input As #1    ' Ouvre le fichier.
Do While Not EOF(1)    ' Effectue la boucle jusqu'à la fin du fichier.
    Line Input #1, TextLine        ' Lit la ligne dans la variable.
    Do While Trouve = False
        If (Mid(TextLine, i, 8) = "INDICBAT") Then
            stLu = TextLine
            Debug.Print "<" & stLu & ">"   
            Trouve = True
            Exit Do
        Else
            i = i + 1
        End If
    Loop
Loop
et voici la seconde qui fonctionne

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Open NomFic For Input As #1    ' Ouvre le fichier.
Do While Not EOF(1)    ' Effectue la boucle jusqu'à la fin du fichier.
    Line Input #1, TextLine        ' Lit la ligne dans la variable.
    For i = 1 To 200
        If (Mid(TextLine, i, 8) = "INDICBAT") Then
            stLu = TextLine
            Debug.Print "<" & stLu & ">"    ' Affiche dans la fenêtre Exécution.
        End If
    Next
Loop
pour le premier cas j'initialise mon i à 1 et mon Trouve à false et pourtant j'ai une erreur là :

"depassement de capacité". Je comprend pas pourquoi, je voudrais utiliser le premeir cas car je ne sait pas combien de caractere a la ligne dans laquelle je cherche "indicbat"

Une idée la dessus?