bonjour, voilà j'ai trouvé un code permettant à partir d'une requête SQl de remplir un fichier CSV. Cependant, comme toujours, les accents posent problème :
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
43
44
45
46
47
48
 
Dim StrSQL As String
        Dim enreg As SqlDataReader
 
        'sauv client
        StrSQL = "SELECT * from matable"
        enreg = reader(StrSQL) 'fct qui renvoi un reader rempli
        If enreg.HasRows Then
            Dim CSVfile As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\Sauvegarde\test_1.csv"
            Dim sw As New StreamWriter(CSVfile, True, New _ System.Text.UTF8Encoding)
            Dim I As Integer
            Dim iCol As Integer
            iCol = enreg.FieldCount
            sw.Write("N°")
            sw.Write(";")
            sw.Write("Nom")
            sw.Write(";")
            sw.Write("Prénom")
            sw.Write(";")
            sw.Write("Adresse")
            sw.Write(";")
            sw.Write("Code Postal")
            sw.Write(";")
            sw.Write("Ville")
            sw.Write(";")
            sw.Write("Teléphone")
            sw.Write(";")
            sw.Write("Fax")
            sw.Write(";")
            sw.Write("E-Mail")
            sw.Write(";")
            sw.Write("Test")
            sw.Write(sw.NewLine)
            Do While enreg.Read()
                Dim Sep As String = ""
                For I = 0 To iCol - 1
                    sw.Write(Sep)
                    If Not Convert.IsDBNull(enreg(I)) Then
                        sw.Write(Trim(enreg.GetValue(I).ToString))
                    End If
                    sw.Write("")
                    Sep = ";"
                Next
                sw.Write(sw.NewLine)
            Loop
            sw.Close()
            MsgBox("Fichier créé avec succès !!", MsgBoxStyle.Information + vbOKOnly, "Exportation")
        End If
j'ai essayé de changer : System.Text.UTF8Encoding en System.Text.unicodeencoding
les accents apparaissent mais le séparateur aussi (plus de champ par cellule). Or avec UTF8, chaque chose est dans sa cellule.
Pareil avec System.Text.UTF32Encoding
Et avec System.Text.ascciiencoding, les accents sont remplacés par "?" mais les champs dont dans leurs cellules.

Quelqu'un pourrait me dire comment règler ce problème ?
merci