outofbusiness
Messages postés36Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention 4 juin 2009
-
8 mai 2007 à 20:40
outofbusiness
Messages postés36Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention 4 juin 2009
-
9 mai 2007 à 18:13
bonjour,
je voudrais importer un fichier au format csv sous forme de table.
En fait, je crée au préalable un BdD access avec ça :
Set mobj = CreateObject("access.application")
mobj.Visible = True
et ensuite à partir d'une boite de dialogue en VBA qui me demande de saisir le fichier source csv, je voudrais le mettre sous forme de table dans la base que je viens de créer.
comme je suis nouveau en ADO, je ne vois pas trop comment faire ça pour le moment.
pourriez vous m'apporter une solution ou me guider SVP ??
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 9 mai 2007 à 09:33
Salut,
Le peu de code que tu as donner ne te permet PAS de creer un base de données MAIS de lancer ACCESS rien de plus.
Donc il faudrait expliquer un peu mieux ce que tu souhaites faire avec ce fichier CSV?
outofbusiness
Messages postés36Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention 4 juin 2009 9 mai 2007 à 15:31
pour etre très clair, ce que je souhaite faire en VBA, on le fait comme ça par les menus :
sous MSAccess :
file>get external data>import
'on sélectionne alors le fichier csv à importer; les champs étant délimités par des ";"
on importe le csv dans une nouvelle table, dont on choisit le nom
la 1ère ligne du csv contient les identifiants des colonnes, donc idéalement ils apparaissent comme les noms des champs de la nouvelle table.
je souhaite automatiser ca en VBA sous Excel.
pour le moment, je suis parti sur ça : (mais ça ne marche pas du tout :-( )
'un getopenfilename pour sélectionner le fichier csv qu'on souhaite traiter:
NomFichier = Application.GetOpenFileName(filefilter:=("Fichier texte (*.csv),*.csv"), Title:="Ouvrir un fichier")
'j'ai declare NomFichier comme variant
'puis, à priori la solution est d'utiliser un transferspreadsheet :
aurais tu des idées jrivet ?? car je tourne un peu en rond, je vois pas comment faire; mon transferspreadsheet ne marche pas (j'ai une erreur "object required")
outofbusiness
Messages postés36Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention 4 juin 2009 9 mai 2007 à 15:31
pour etre très clair, ce que je souhaite faire en VBA, on le fait comme ça par les menus :
sous MSAccess :
file>get external data>import
'on sélectionne alors le fichier csv à importer; les champs étant délimités par des ";"
on importe le csv dans une nouvelle table, dont on choisit le nom
la 1ère ligne du csv contient les identifiants des colonnes, donc idéalement ils apparaissent comme les noms des champs de la nouvelle table.
je souhaite automatiser ca en VBA sous Excel.
pour le moment, je suis parti sur ça : (mais ça ne marche pas du tout :-( )
'un getopenfilename pour sélectionner le fichier csv qu'on souhaite traiter:
NomFichier = Application.GetOpenFileName(filefilter:=("Fichier texte (*.csv),*.csv"), Title:="Ouvrir un fichier")
'j'ai declare NomFichier comme variant
'puis, à priori la solution est d'utiliser un transferspreadsheet :
aurais tu des idées jrivet ?? car je tourne un peu en rond, je vois pas comment faire; mon transferspreadsheet ne marche pas (j'ai une erreur "object required")
outofbusiness
Messages postés36Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention 4 juin 2009 9 mai 2007 à 18:13
Pouvez vous me dire également comment on utilise le "DoCmd", car je comprends vraiment plus.
lorsqu'il apparait dans le code, j'ai un message d'erreur au niveau du "DoCmd" : "variable not defined"
"DoCmd" n'est pas une variable quand même??
si j'ote le option explicit (je tente diverses possibilités), j'ai un autre message d'erreur "object required"