[Visual basic] importation vers Access

Résolu/Fermé
shoezman13 Messages postés 15 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 18 juin 2008 - 17 juin 2008 à 10:28
shoezman13 Messages postés 15 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 18 juin 2008 - 18 juin 2008 à 10:48
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
A voir également:

2 réponses

shoezman13 Messages postés 15 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 18 juin 2008 1
17 juin 2008 à 15:39
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à.
0
shoezman13 Messages postés 15 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 18 juin 2008 1
18 juin 2008 à 10:48
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.)
0