Ca me lourde...fonction TransferSpreadsheet

Signaler
Messages postés
24
Date d'inscription
mardi 8 mars 2005
Statut
Membre
Dernière intervention
24 mars 2005
-
Messages postés
2
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
27 avril 2009
-
Tout d'abord merci a ceux qui me lise et qui me repondront.

Tout d'abord, je suis sous excel, VBA et je dois faire une fonction qui prend un fichier .csv et qui l'exporte dans un base de données access.
j'utilise pour ca logiquement la fonction TransferSpreadsheet sauf que...comment l'utiliser.??
le numero 8 est-il juste?
je travaille sous excel 2000.
merci beaucoup!

Private Function fExportCsvAccess(strFile As String, strDestinationBD As String) As Boolean
Dim obj_Access As Access.Application
Dim Nom_Base_Access As String
Dim Nom_Fichier_Csv As String


Nom_Fichier_Csv = "strFile"
Nom_Base_Access = "strDestinationBD"


' Création d'un objet Access
Set obj_Access = New Access.Application


' Ouverture de la base Access
obj_Access.OpenCurrentDatabase Nom_Base_Access


' destruction de la table de réception
On Error Resume Next
obj_Access.DoCmd.DeleteObject acTable, "tableDonneeJuste"
On Error GoTo 0


' Importation d'une feuille excel dans access
' le 8 c'est pour une base Access 97, essaie 9 pour Access 2000 ou 10 pour Access 2002
' Table5 c'est le nom de la table que tu veux créer
' toto$ c'est le nom de la feuille que tu veux importer avec un "$" à la fin
obj_Access.DoCmd.TransferSpreadsheet acImport, 8, "tableDonneeJuste", Nom_Fichier_Csv, False, "toto$"
' Fermeture de la base
obj_Access.Quit


' Libération de la mémoire
Set obj_Access = Nothing


End Function

1 réponse

Messages postés
2
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
27 avril 2009

on met 5 au lieu de 8 pour access 2000
obj_Access.DoCmd.TransferSpreadsheet acImport, 5, "tableDonneeJuste", Nom_Fichier_Csv, False, "toto$"