IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

exporter une feuille excel vers une table access


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2005
    Messages : 151
    Points : 64
    Points
    64
    Par défaut exporter une feuille excel vers une table access
    Bonjour
    Je travaille sur une petite application que je dois exporter des donnees enregistrer dans un fichier excel vers ma base de donnees access.
    vous avez une idee
    Merci

  2. #2
    Membre habitué Avatar de sihammaster
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 256
    Points : 183
    Points
    183
    Par défaut
    Bonjour,

    Voila un petit exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
       Dim appExcel As Excel.Application
       Dim sheet As Excel.Worksheet
       Dim wbExcel As Excel.Workbook 'Classeur Excel
       appExcel = CreateObject("Excel.Application")
     
      wbExcel = appExcel.Workbooks.Open("Chemin") 'ouvrir le fichier xls
      sheet = appExcel.ActiveWorkbook.ActiveSheet
      sheet = wbExcel.Worksheets(1) 'se positionner sur la feuille cible
     
     For i = 1 To 100
       var= sheet.Cells(i, 1).Value  'recupere les données de la colonne A et la ligne i
    'ton traitement de l'insertion dans la BDD
     next i

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2005
    Messages : 151
    Points : 64
    Points
    64
    Par défaut
    Merci Siham pour ta réponse
    Dois-je ajouter une référence ?

  4. #4
    Membre habitué Avatar de sihammaster
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 256
    Points : 183
    Points
    183
    Par défaut
    Bonjour,
    En effet, pour ajouter la référence Excel, tu va sur ton projet (nom) un click droit, puis "ajouter une référence", dans la fenetre qui s'affiche, choisis l'onglet "COM", et chercher "Microsoft Excel 12.0 (sinon 5.0) Object Library"-->OK

    Voila

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2005
    Messages : 151
    Points : 64
    Points
    64
    Par défaut
    Merci siham je teste et je te repond

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2005
    Messages : 151
    Points : 64
    Points
    64
    Par défaut
    salut
    ca marche pas , y a t-il possibilité de le faire a l'aide d'une requete sql?

  7. #7
    Membre habitué Avatar de sihammaster
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 256
    Points : 183
    Points
    183
    Par défaut
    Salut,
    Oui Biensur voila un bout de code, tu pourras l'adapter à tes besoins:

    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
     
    Dim mycon As System.Data.OleDb.OleDbConnection
    Dim Dst As System.Data.DataSet
    Dim mycomd As System.Data.OleDb.OleDbDataAdapter
     
    mycon = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=c:\TEST.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=No""")
     
    mycomd = New System.Data.OleDb.OleDbDataAdapter("select * from [Feuille$]", mycon)
     
    mycomd.TableMappings.Add("Table", "TestTabe")
    Dst = New System.Data.DataSet
    mycomd.Fill(Dst)
    'Dst: comporte les données issues d'excel tu peux les manipulées comme tu veux, comme exemple j'ai remplis datagridview.
    DataGridView1.DataSource = Dst.Tables(0)

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2005
    Messages : 151
    Points : 64
    Points
    64
    Par défaut
    Merci Siham infiniment ca marche a merveille

  9. #9
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut issues pour importer un feuille de classeur excel dans bd access,utiliser xml
    Bonjour sanfour_walhan
    Ceci est une issue,comme mentionne par Sihammaster.Une autre issue est d'utiliser le mapping XML supporte par tous les documents Office Excel et Word qui me parait plus consistant et expeditif.
    En effet un "mappage" entre classeur et table access peut etre etabli en xml surtout si il y de grandes quantites de donnees en jeu et que la liaison est frequente .
    voici l'approche et le code:

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    Imports OXL = Microsoft.Office.Interop.Excel
    Imports System.IO
    Public Class frmExcelXML
        ' Declare    Excel Application
        Dim excelApp As OXL.Application
        ' Declare  Excel WorkBook
        Dim WithEvents workbook1 As OXL.Workbook
        ' Declare   XML map.
        Dim xmlMap1 As OXL.XmlMap
     
        ' Declare   Chemin
        Dim cheminFichier As String = Directory.GetCurrentDirectory & "\"
        ' nom du filename XML .
        Dim xmlFilename As String = "XmlDocumentA.xml"
     
        Private Sub btnMapExcelToDT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMapExcelToDT.Click
            Call WorkbookXmlExportEvents()
        End Sub
        'IMPORTATION DE DONNEES DATABLE VERS EXCEL "LIEES" PAR UN SCHEMA XSD
        'SAUVEGARDE DANS UN FICHIER XML (DATATABLE & SCHEMA XSD)
        Private Sub WorkbookXmlExportEvents()
     
            ' Create a new Dataset and DataTable.
            Dim ds As New DataSet()
            Dim dt As System.Data.DataTable = New System.Data.DataTable
            dt = ds.Tables.Add("Customers")
            dt.Columns.Add(New DataColumn("LastName"))
            dt.Columns.Add(New DataColumn("FirstName"))
     
            ' Add a new row to the DataTable.
            Dim dr As DataRow = dt.NewRow()
            dr("LastName") = "Chan"
            dr("FirstName") = "Gareth"
            dt.Rows.Add(dr)
     
            ' Init Excel Application 
            excelApp = New OXL.Application
            ' Add a new workbook 
            workbook1 = excelApp.Workbooks.Add
     
            ' Init XML map & Add  XML map to Workbook1.
            xmlMap1 = workbook1.XmlMaps.Add(ds.GetXmlSchema())
            'workbook1.XmlMaps.Add("c:\schemas\salesorder.xsd")
     
            'Attribuer un nom pour garder une reference a ce xmlmap
            xmlMap1.Name = "PersonnelMap"
     
            'Mapper  range1 à Range("A1")
            Dim range1 As OXL.Range = workbook1.Worksheets(1).Range("A1")
     
     
            ' Import the data into Sheet1. 
            workbook1.XmlImportXml(ds.GetXml(), xmlMap1, True, _
                range1)
            ' Export data into xml file. 
            If xmlMap1.IsExportable Then
                workbook1.SaveAsXMLData(cheminFichier & xmlFilename, xmlMap1)
            End If
        End Sub
        Private Sub workbook1_BeforeXmlExport(ByVal Map As Microsoft.Office.Interop.Excel.XmlMap, ByVal Url As String, ByRef Cancel As Boolean) Handles workbook1.BeforeXmlExport
            MessageBox.Show("Microsoft Excel is exporting XML from " & _
              "the XmlMap.")
        End Sub
     
        Private Sub workbook1_AfterXmlImport(ByVal Map As Microsoft.Office.Interop.Excel.XmlMap, ByVal IsRefresh As Boolean, ByVal Result As Microsoft.Office.Interop.Excel.XlXmlImportResult) Handles workbook1.AfterXmlImport
            If Result = OXL.XlXmlExportResult.xlXmlExportSuccess Then
                MessageBox.Show("XML export succeeded.")
            Else
                MessageBox.Show("XML export failed.")
            End If
        End Sub
     
        'IMPORTATION DE DONNEES EXCEL(XML) DANS DATABLE 
        Private Sub btnLoadXmlIntoDT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoadXmlIntoDT.Click
            ' Create a new DataSet.
            Dim newDataSet As New DataSet("New DataSet")
            ' Read the XML document back in. 
            ' Create new FileStream to read schema with.
            Dim streamRead As New System.IO.FileStream _
               (cheminFichier & xmlFilename, System.IO.FileMode.Open)
     
            ' Read the XML document into the DataSet.
            newDataSet.ReadXml(streamRead)
     
            ' view datable in newDataSet 
            Me.DataGridView1.DataSource = newDataSet
            Me.DataGridView1.DataMember = newDataSet.Tables(0).TableName
        End Sub
    Mapping XML supporte depuis versions office 2003 sp2 & office 2007 Professionnelles.
    bon code....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importer une feuille Excel vers une table Access
    Par niKgir dans le forum VBA Access
    Réponses: 1
    Dernier message: 05/08/2014, 10h59
  2. Importer une feuille Excel vers une table Access
    Par saga13 dans le forum VBA Access
    Réponses: 7
    Dernier message: 12/05/2011, 21h07
  3. [XL-2003] copier en automatique le code d'un module d'une feuille EXCEL vers une autre feuille
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/05/2009, 00h13
  4. coller une sélection d'une feuille excel vers une table access
    Par docjo dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/01/2008, 17h50
  5. Comment transférer une ligne d'une feuille Excel vers une autre
    Par iboulaye1980 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/05/2007, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo