'bd c'est le nom du fichier exel choisit Dim cnExel As New OleDbConnection("provider=MicrosoftAce.oledb.12.0;Data source=" & TextBox1.Text & ";Extended properties='Exel 12.0 Xml';HDR=YES;") Dim cnSql As New SqlConnection("Data Source=.;Initial Catalog=" & bd & ";Integrated Security=True") Dim ds As New DataSet Dim da As New OleDbDataAdapter Dim cmd1, cmd2 As OleDbCommand cmd1 = New OleDbCommand("select *from [feuil1$]", cnExel) cmd2 = New OleDbCommand("select *from [feuil2$]", cnExel) da.SelectCommand = cmd1 da.Fill(ds, "table1") da.SelectCommand = cmd2 da.Fill(ds, "table2") DataGridView1.DataSource = ds.Tables("table1") DataGridView1.DataSource = ds.Tables("table2") '-------------------------------------------------- Dim inter1 As New SqlBulkCopy(cnSql) Dim inter2 As New SqlBulkCopy(cnSql) cnSql.Open() inter1.DestinationTableName = "table_1" inter1.WriteToServer(ds.Tables("table1")) inter2.DestinationTableName = "table_2" inter2.WriteToServer(ds.Tables("table2")) Catch ex As Exception MsgBox(ex.ToString) End Try
Effectivement, t'orienter vers OleDB me semble une bonne idée si c'est pour importer des données d'un tableau Excel assez "simple" (j'entends par là pas de formules, de mise en page ou de doubles en-tête à conserver par exemple).
je suis entrain d'essayer le code publié par meryemarabia16, mais puisque je travaille sous une base de données Access cette partie de code ne marche pas, si quelqu'un peut m'aider à convertir ça pour qu'il soit adaptable à ma base de données Access je serait reconnaissante.
Dim inter1 As New SqlBulkCopy(cnSql) Dim inter2 As New SqlBulkCopy(cnSql) cnSql.Open() inter1.DestinationTableName = "table_1" inter1.WriteToServer(ds.Tables("table1")) inter2.DestinationTableName = "table_2" inter2.WriteToServer(ds.Tables("table2")) Catch ex As Exception MsgBox(ex.ToString)
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Pas d'aide concernant le code par MP, le forum est là pour ça :)