Ca me lourde...fonction TransferSpreadsheet

1gazelle Messages postés 24 Date d'inscription mardi 8 mars 2005 Statut Membre Dernière intervention 24 mars 2005 - 10 mars 2005 à 14:59
rala_123 Messages postés 2 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 27 avril 2009 - 27 mars 2008 à 02:49
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

rala_123 Messages postés 2 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 27 avril 2009
27 mars 2008 à 02:49
on met 5 au lieu de 8 pour access 2000
obj_Access.DoCmd.TransferSpreadsheet acImport, 5, "tableDonneeJuste", Nom_Fichier_Csv, False, "toto$"

 

 
0
Rejoignez-nous