Bonjour à tous

Je suis débutant avec Visual Studio que je souhaite utiliser en vb, car très expérimenté en vba.

Je parviens à charger dans un datagridview le contenu d'un fichier csv en passant par une datatable

Si je définis par avance la structure du datagridview (les colonnes, leur noms...), le binding du datatable ajoute quand même des colonnes au datagridview.
Si je ne définis pas la structure, je n'arrive pas à trouver comment agir une fois le datagridview alimenté par le datatable.

Ce que je souhaite, c'est pouvoir paramétrer les colonnes chargées depuis la datatable.
Par exemple, je veux que la colonne date du datatable soit colorée en vert dans le datagridview.
J'imagine que ça ne se paramètre pas dans le datatable ?

Voici mon code (où la structure du datagridview n'est pas définie à l'avance)
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
 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 
        Dim csvPath As String = "C:\itunes\test.csv"
 
        'Create a DataTable.
        Dim dt As New DataTable()
 
        ' Create  typed columns in the DataTable.
        dt.Columns.Add("Dep", GetType(Char))
        dt.Columns.Add("Date", GetType(DateTime))
        dt.Columns.Add("P", GetType(Integer))
        dt.Columns.Add("T", GetType(Integer))
        dt.Columns.Add("Classe", GetType(String))
 
        Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\itunes\test.csv")
            MyReader.TextFieldType = FileIO.FieldType.Delimited
            MyReader.SetDelimiters(";")
 
            Dim currentRow As String()
            Dim numCol As Integer
            While Not MyReader.EndOfData
                dt.Rows.Add()
                Try
                    currentRow = MyReader.ReadFields()
 
                    Dim currentField As String
                    numCol = 0
                    For Each currentField In currentRow
                        dt.Rows(dt.Rows.Count - 1)(numCol) = currentField
                        numCol = numCol + 1
                    Next
 
                Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
                    MsgBox("Line " & ex.Message &
        "is not valid and will be skipped.")
                End Try
 
            End While
 
 
            Dim bs As New BindingSource
            bs.DataSource = dt
            DG1.DataSource = bs
        End Using
End Sub
merci !

PS : les nombreuses réponses trouvées sur le web sont essentiellement pour du C#, pas du VB. Est-ce un mauvais choix de ma part ?