Bonjour,

voici mon problème,lors de la lecture d'un fichier texte délimité par des virgules qui est sous cette forme :

100,001,00.0.0 ,texte 1 ,
101,002,00.0.1 ,texte 2 ,
112,003,14.0.1 ,Bâti : A ,
105,004,19.1.1 ,Bâti : B ,
106,005,19.1.2 ,Bâti : C ,

ma variable "ligne" ne comprends pas les caractères accentués et Bâti devient B#ti (le # etant en fait un carré à l'ecran)...

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
 
 ' Définition du type de champs et du délimiteur
            MyReader.TextFieldType = FileIO.FieldType.Delimited
            MyReader.SetDelimiters(",")
            'MyReader.FieldWidths.
 
 
            ' Lecture des données et affichage
            a = 0
            DataGridView1.ColumnCount = 5
            While Not MyReader.EndOfData
                Try
                    ligne = MyReader.ReadFields
                    i = 0
                    Dim champ As String
                    For Each champ In ligne
                        i = i + 1
                        s(i) = champ
                        If i = 5 Then
                            a = a + 1
                            ReDim Preserve Tab1(a)
                            ReDim Preserve Tab2(a)
                            ReDim Preserve Tab3(a)
                            ReDim Preserve Tab4(a)
                            Tab1(a) = s(1)
                            Tab2(a) = s(2)
                            Tab3(a) = s(3)
                            Tab4(a) = s(4)
                        End If
                    Next
                    DataGridView1.Rows.Add(New String() {s(1), s(2), s(3), s(4), s(5)})
 
                Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
                    MsgBox("L'enregistrement " & ex.Message & _
                    "n'est pas valide. Il a été ignoré.")
                End Try
            End While
        End Using

pourriez vous me dire ou je me suis trompé?

Merci d'avance

Cordialement

Maverick