Bonjour à tous,

Je dois scanner un grand nombre de fichier pour les recuperer et mettre dans une base de données d'un projet, et afin de gagner du temps à l'acces des fichier j'ouvre une connexion , plutot qu'interop.

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
        Dim NCONTRAT As String
        Dim VERSION As String
 
 
        'Comptage du nombre de ligne a creer dans le Gridview 2 ( identique à celui du premier )
        Dim COMPT As Integer = Convert.ToInt16(DataGridView1.Rows.Count) ' récupèretion du nombre de Ligne
 
        ' la Boucle de récupération par fichier 
 
        For X As Integer = 0 To COMPT - 1
 
            Dim CHEMIN As String = Convert.ToString(DataGridView1.Rows(X).Cells(6).Value)
            'CHEMIN = "'" & CHEMIN & "'"
            ' Connexion fichier excel sans ouverture et recuperation de la feuille saisie dans une table d'un Datatset1
            Dim MYCONNECTION As System.Data.OleDb.OleDbConnection
            Dim MYCOMMAND As System.Data.OleDb.OleDbDataAdapter
            MYCONNECTION = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CHEMIN & ";Extended Properties=Excel 8.0;")
            MYCOMMAND = New System.Data.OleDb.OleDbDataAdapter("select * from [Saisie$]", MYCONNECTION)
            MYCONNECTION.Open()
            MYCOMMAND.Fill(DATASET1)
            MYCONNECTION.Close()
 
            'Detection si le fichier est de la nouvelle ou ancienne version
 
            VERSION = Convert.ToString(DATASET1.Tables(0).Rows(17).Item(35))
            VERSION = VERSION.Substring(0, 7)
 
            If Not VERSION = "version" Then
                NCONTRAT = Convert.ToString(DATASET1.Tables(0).Rows(0).Item(30))
            End If
Si j'écris Ainsi cela fonctionne. Mais le problème est que la premiere ligne du fichier est integrée dans le columnheader de la table.

Donc je voulais ajouter à la connexion HDR=NO
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
        'Déclaration des variables de transfert
        Dim NCONTRAT As String
        Dim VERSION As String
 
 
        'Comptage du nombre de ligne a creer dans le Gridview 2 ( identique à celui du premier )
        Dim COMPT As Integer = Convert.ToInt16(DataGridView1.Rows.Count) ' récupèretion du nombre de Ligne
 
        ' la Boucle de récupération par fichier 
 
        For X As Integer = 0 To COMPT - 1
 
            Dim CHEMIN As String = Convert.ToString(DataGridView1.Rows(X).Cells(6).Value)
            'CHEMIN = "'" & CHEMIN & "'"
            ' Connexion fichier excel sans ouverture et recuperation de la feuille saisie dans une table d'un Datatset1
            Dim MYCONNECTION As System.Data.OleDb.OleDbConnection
            Dim MYCOMMAND As System.Data.OleDb.OleDbDataAdapter
            MYCONNECTION = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CHEMIN & ";Extended Properties=Excel 8.0;HDR=NO")
            MYCOMMAND = New System.Data.OleDb.OleDbDataAdapter("select * from [Saisie$]", MYCONNECTION)
            MYCONNECTION.Open()
            MYCOMMAND.Fill(DATASET1)
            MYCONNECTION.Close()
 
            'Detection si le fichier est de la nouvelle ou ancienne version
 
            VERSION = Convert.ToString(DATASET1.Tables(0).Rows(17).Item(35))
            VERSION = VERSION.Substring(0, 7)
 
            If Not VERSION = "version" Then
                NCONTRAT = Convert.ToString(DATASET1.Tables(0).Rows(0).Item(30))
            End If
ET la j'ai un erreur pilote ISAM manquant ???????


Une idée?