Bonjour
J'ai un petit bout de code qui me permet de récupérer une colonne d'une feuille excel et de placer les données dans une table de dataset.
J'utilise VB2005 et une Base access

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Try
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; " & _
"data source= |DataDirectory|\Classeur2.xls; Extended Properties=Excel 8.0;")
'Récupération de la colonne Nom de la feuille 1
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select [Nom] from [Feuille1$]", MyConnection)
MyCommand.Fill(P_DataSet1.Tables("Table1"))
DataGridExcel.DataSource = P_DataSet1.Tables("Table1") 
MyConnection.Close()
Catch ex As Exception
MsgBox(ex.Message)
MyConnection.Close()
End Try
J'essaye d'enregistrer les données avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Try
Me.Validate()
Me.PDataSet1BindingSource.EndEdit()
Me.T_Table1TableAdapter1.Update(Me.P_DataSet1.Tables("Table1"))
Catch ex As Exception
MsgBox("Une erreur à été détectée durant la mise à jour de la base de données")
End Try
Cette méthode marche lorsque je met à jour les autres tables du dataset, mais la ça ne fonctionne pas, lorsque j'ouvre une autre feuille et que je charge mes données, je n'ai que les anciennes données.

En résume, pas de problème pour récupérer les données Ecxel, mais impossible de les enregistrer