Salut,

J'ai appli qui ouvre 1 fichier texte d'environ 15 mo, le lit ligne par ligne, le ferme et lit un autre fichier texte. J'ai mis un progress bar sur ma fenetre pour que l'utilisateur puisse voir le déroulement du processus mais lorsque j'execute l'application, le programme cesse de repondre jusqu'à la fin de la lecture des fichiers.

Qqun pourrait m'indiquer comment évité que le programme cesse de répondre...

Voici mon code:
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
40
41
42
 
            Dim con As New ADODB.Connection
            Dim lsDSN As String
 
            'Nous sélectionnons la connection string
            If txtEnvironnement.Text = "Développement" Then
                lsDSN = "User ID=Username;Password=Pass;Data Source=GEND;"
            Else
                lsDSN = "User ID=Username;Password=Pass;Data Source=GEND;"
            End If
            'Nous ouvrons la connection
            con.Open lsDSN
            Dim Ligne As String
            Dim Table() As String
            'Nous ouvrons le fichier RADIO
            x = 0
            Open txtRep.Text & "\BWIBIKE" For Input As #1
            ProgressBar1.max = FileLen(txtRep.Text & "\BWIBIKE")
            On Error Resume Next
            Do While Not EOF(1)
                Line Input #1, Ligne
                Table() = Split(Replace(Ligne, "'", "''"), ",")
                sql_stmt = "INSERT INTO CIPC (EXP_DATE, STATUT, TYPE_DESC, NO_SERIE_N1, " & _
                "NO_SERIE_N2, ITEM, MARQUE, MODELE, COULEUR_N1, COULEUR_N2, IND, " & _
                "TYPE_OBJET, AJOUT, VITESSE) VALUES (TO_DATE('" & FindInStr(Ligne, 1, 8) & "','yyyymmdd'), '" & Trim(Split(FindInStr(Ligne, 10, 15), ",")(1)) & _
                "', '" & Trim(Split(FindInStr(Ligne, 26, 43), ",")(1)) & "', '" & Trim(FindInStr(Ligne, 70, 16)) & "', '" & Trim(FindInStr(Ligne, 87, 16)) & _
                "', '" & Trim(FindInStr(Ligne, 104, 12)) & "', '" & Trim(FindInStr(Ligne, 117, 16)) & "', '" & Trim(FindInStr(Ligne, 134, 12)) & _
                "', '" & Trim(Split(FindInStr(Ligne, 147, 20), ",")(1)) & "', '" & Trim(Split(FindInStr(Ligne, 168, 20), ",")(1)) & "', '" & Trim(FindInStr(Ligne, 189, 7)) & _
                "', 'RADIO', TO_DATE('" & Date & "','YYYY-MM-DD'), " & Trim(FindInStr(Ligne, 189, 2)) & ")"
                con.Execute sql_stmt
                ProgressBar1.Value = ProgressBar1.Value + 199
                If Err.Description <> "" Then
                    Open App.Path & "\ERREUR.TXT" For Append As #2
                    Print #2, Now() & " --> " & Err.Description
                    Print #2, sql_stmt
                    Print #2, Ligne
                    Print #2, "-------------------------------------------"
                    Close #2
                    Err.Clear
                End If
            Loop
            Close #1