Bonjour
je souhaite importer un fichier excel "test resultat" en pièce jointe, qui contient dans la deuxième ligne des chiffres et après des types temps: hh:mm:ss
je réussis à importer le ficher avec le code global ci-dessous mais mon problème est que la conversion en mode Time avec la ligne de code ci-dessous est appliquée à toutes les lignes or moi je souhaite garder la deuxième ligne avec des chiffres :
Merci de m'aider à résoudre mon problème.
'code de conversion en mode time hh:mm:ss
Code : Sélectionner tout - Visualiser dans une fenêtre à part DataGridView1.RowsDefaultCellStyle.Format = "T"
Code global:
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 Private Sub ImporterToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImporterToolStripMenuItem.Click Dim OpenFileDialog2 As New OpenFileDialog Dim dt As New DataTable If OpenFileDialog2.ShowDialog = Windows.Forms.DialogResult.OK Then Dim FileName As String = OpenFileDialog2.FileName.ToUpper Dim Builder As New OleDbConnectionStringBuilder With {.DataSource = FileName} ' Setup the properties for our connection dependent on which file was open. If IO.Path.GetExtension(FileName) = ".XLSX" Then Builder.Provider = "Microsoft.Jet.OLEDB.4.0" Builder.Add("Extended Properties", "Excel 8.0;HDR=Yes;IMEX=0;") DataGridView1.RowsDefaultCellStyle.Format = "T" ' <---- ICI <---- <---- <---- <---- <---- <---- Else Builder.Provider = "Microsoft.Jet.OLEDB.4.0" Builder.Add("Extended Properties", "Excel 8.0;HDR=Yes;IMEX=0;") End If Using cn As New OleDbConnection With {.ConnectionString = Builder.ConnectionString} Dim cmd As New OleDbCommand With _ { _ .CommandText = "SELECT * FROM [Feuil1$]", _ .Connection = cn _ } cn.Open() dt.Load(cmd.ExecuteReader) DataGridView1.DataSource = dt ActiveControl = DataGridView1 End Using End If End Sub
Partager