[Visual basic] importation vers Access

Résolu
Bonjour,

J'ai un problème d'importation à résoudre...
Toutes mes données sont sur Excel, Je dois réaliser à partir d'access une importation de ces données pour créer une nouvelle table, qui contiendra alors tous les en-têtes. J'aimerais trouver un programme sur visual basic qui permettrai de rendre cette importation automatique sachant que mes données sur excel peuvent etre modifiéé a tout moment (c'est pour ça que je peux pas crée la table en précisant les champs auparavant, il faut que le programme les reconnaisse). J'ai vu qu'on pouvait directement chercher les données dans une feuille d'Excel mais aussi qu'on pouvait importer le fichier csv correspondant. Quels est le plus facile? et comment je pourrais faire?
Quelqu'un peut m'aider la dedans s'il vous plait?

Si voius avez besoin de plus de renseignement, demandez-moi.
Merci d'avance
Configuration: Windows XP
Firefox 2.0.0.14

2 réponses

  1. Finalement j'ai utilisé cette ligne

    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel5, "nomtable", Chemin_Fichier, True, nomfeuille

    et ça marche bien, voila si quelqu'un avait le meme probleme (le programme va chercher directement une feuille excel.)
    1. J'ai réussir a obtenir ce code mais il y a des problèmes là aussi :

      Private Sub ImportCSV(sFileCSV As String, sTable As String)
      Dim lFileCSV As Long
      Dim sLine As String
      Dim rsTable As Recordsets
      Dim sField As String
      Dim n As Integer
      Dim m As Long
      lFileCSV = FreeFile
      Open sFileCSV For Input As #lFileCSV
      Set rsTable = CurrenDB.OpenRecordset(sTable, dbOpenTable)
      m = 0
      Do
      Line Input #lFileCSV, sLine
      rsTable.AddNew
      rsTable.Refresh
      For n = 1 To Len(sLine)
      If Mid(sLine, n, 1) <> ";" Then
      sField = sField & Mid(sLine, n, 1)
      Else
      rsTable(m) = sField
      sField = ""
      m = m + 1
      End If
      If n = Len(sLine) Then
      rsTable(m) = sField
      sField = ""
      m = 0
      End If
      Next n
      rsTable.Update
      Loop Until EOF(lFileCSV)

      Close #lFileCSV
      rsTable.Close
      End Sub

      Le AddNew ne passe pas apparement... comment je dois faire pour que ça marche s'il vous plait?
      Si quelqu'un s'y connait, je le remercie déjà.