[VB .NET] IMPORTER À PARTIR D'EXCEL VERS UNE DATAGRIDVIEW

2vbeur Messages postés 3 Date d'inscription vendredi 16 juin 2006 Statut Membre Dernière intervention 12 avril 2007 - 12 avril 2007 à 14:48
hosnihassen Messages postés 1 Date d'inscription lundi 7 mai 2012 Statut Membre Dernière intervention 17 janvier 2013 - 17 janv. 2013 à 16:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/37895-vb-net-importer-a-partir-d-excel-vers-une-datagridview

hosnihassen Messages postés 1 Date d'inscription lundi 7 mai 2012 Statut Membre Dernière intervention 17 janvier 2013
17 janv. 2013 à 16:28
Bonjour
SVP, après avoir rempli le datagridview, comment insérer les données importées dans une table de la base de données access (connectée au projet)
erokage Messages postés 91 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 23 juin 2009
25 mai 2009 à 15:01
J'ai essayer vos programmes mais il ne tourne pas sur vb 2008
Auriez vous une alternative a me proposer?
Voici le programme que j'ai qui ouvre excel mais qui n'affiche pas tout le datagrid mais qui finalement ne tourne plus!
(ps:je suis un novice sur vb)
erokage Messages postés 91 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 23 juin 2009
25 mai 2009 à 14:01
Private Sub PictureBox8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox8.Click
'Transfert du datagrid vers excel'
Dim c, j As Integer

Dim xl As New Object

xl = CreateObject("Excel.application")

xl = DataGridView1
xl.visible = True

xl.workbooks.Add()

For c = 0 To DataGridView1.Columns.Count - 1

xl.cells.Item(c + 1, 1) = DataGridView1.Columns(c).Name

Next

For l As Integer = 0 To DataGridView1.Rows.Count - 1

For c = 0 To DataGridView1.Rows.Count - 1

xl.cells.item(l + 1, j + 1) = DataGridView1.Rows(l).Cells.Item(c).Value

Next c

Next l

End Sub
erokage Messages postés 91 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 23 juin 2009
25 mai 2009 à 14:00
J'ai essayer vos programmes mais il ne tourne pas sur vb 2008
Auriez vous une alternative a me proposer?
Voici le programme que j'ai qui ouvre excel mais qui n'affiche pas tout le datagrid mais qui finalement ne tourne plus!
(ps:je suis un novice sur vb)
bebstylus Messages postés 26 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 7 octobre 2008
7 oct. 2008 à 11:10
Je me suis inspiré de ton code et y est apporté une petite modification pour faire gagner du temps à l'éxécution.

Public Sub rempliDatagrid(ByVal NomSheet As String, ByVal DGV As DataGridView)
TFeuille = CType(TClasseur.Worksheets(NomSheet), Excel.Worksheet)
'on prend connaissance de la taille du tableau a importer
Dim indHaut = TFeuille.Range("E5").End(XlDirection.xlUp).Row.ToString + 1
Dim indBas = TFeuille.Range("E5").End(XlDirection.xlDown).Row.ToString
Dim indGauche = TFeuille.Range("E5").End(XlDirection.xlToLeft).Column.ToString
Dim indDroite = TFeuille.Range("E5").End(XlDirection.xlToRight).Column.ToString

Dim range1 As Excel.Range
Dim range2 As Excel.Range
Dim cells_excel As Object

Dim row(indDroite-indGauche) As String

range1 = TFeuille.Cells(indHaut, indGauche)
range2 = TFeuille.Cells(indBas, indDroite)
cells_excel = TFeuille.Range(range1, range2).Value2

Dim j, k As Integer
For j = 0 To UBound(test, 1) - 1
For k = 0 To UBound(cells_excel, 2) - 1
row(k) = test(j + 1, k + 1)
Next
DGV.Rows.Add(row)
Next
End Sub

Bonne continuation!
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 juil. 2007 à 16:37
poses plutot ta question sur le Forum.

Merci
Musau Messages postés 18 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 3 octobre 2007
17 juil. 2007 à 16:32
Bonjour à tous!
Quelqu'un pourra m'aider en vb.net,je n'arrive à afficher mes données dans le datagrid qui ne prend pas la méthode DataBind(),quelqu'un a-t-il une idée sur ça? Bien à vous MKB.Et
Voici mon code

Imports System.Data.SqlClient

Public Class stater
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim cmd As SqlCommand
Dim conn As SqlConnection
Dim ds As DataSet


Dim da As SqlDataAdapter

'Dim Netmon As NetMonClientObj

conn = New SqlConnection()
cmd = New SqlCommand
ds = New DataSet()
da = New SqlDataAdapter()

conn.ConnectionString = "Data Source=ZORASEC50;Initial Catalog=KlantenFiche;Persist Security Info=True;User ID=sa;Password=Nacka123"
cmd.Connection = conn
cmd.CommandText = "select Naam from Customers"
da.SelectCommand = cmd
da.Fill(ds, "Customers")
GridView1.DataSource = ds
Lordthias Messages postés 15 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 9 mai 2007
9 mai 2007 à 18:32
Oups, désolé pour le retard !!!
2VBEUR > effectivement j'ai ajouté des références au projet. Celle de Microsoft Excel 9.0 de mémoire (ca fait un an maintenant et j'ai plus de courage de retourner dans code pour verifier).

Elect31 > Ca doit être les références...

Ce que je peux dire c'est qu'à la fin je n'ai pas utilisé cette classe. J'ai utilisé la technologie ADO.net qui permet d'executer du SQL dans Excel (qui a dit anarchique???).
Je mettrais la source ADO si je trouve le temps.

Bon courage a tous...
elect31 Messages postés 8 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 2 mars 2017
15 avril 2007 à 21:30
Merci pour ta contribution,
mais chez moi ça ne fonctionne pas (je suis débutant) : l'"imports Excel" n'est pas reconnu (des ondulations vertes dessous) :message d'erreur:"l'espace de nom dans les imports Excel ne contient aucun membre public ou est introuvable...Vérifiez que l'espace ... est défini ou contient ... 1 membre public" ???
J'ai mis tout ton code dans une classe..
merci de tes explications si c'est possible
elect31
2vbeur Messages postés 3 Date d'inscription vendredi 16 juin 2006 Statut Membre Dernière intervention 12 avril 2007
12 avril 2007 à 14:48
pas mal pour du bricolage..
tu as ajouter des réfrence a ton projet ?
Rejoignez-nous