Rechercher tous les fichiers csv d'un repertoire et les importer en table dans Access

hellokitty94

XLDnaute Nouveau
Bonjour à tous!

J'essaie de récuperer tous les fichiers csv(j en ai un certain nombre) d'un répertoire fixe et de les importer dans des tables access distinctes avec la délimitation du ";" et comme nom de table le nom de fichier en enlevant le ".csv"
Je ne sais pas par ou commencer, je suis nulle en vba :(

Merci de votre aide.
 

hellokitty94

XLDnaute Nouveau
Re : Rechercher tous les fichiers csv d'un repertoire et les importer en table dans A

J'ai trouvé des sources interessantes et remixé le tout à ma sauce mais le code ne fonctionne pas :

Sub TransfertAllCsvInDir()

Dim rep As String
Dim Dossier As String
Dim Nom_Tbl As String

'obtient le premier fichier ou répertoire qui est dans "c:\"
Dossier = "C:\repertoire"
rep = Dir(Dossier & "*.CSV", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
On Error GoTo Erreur
Do While (rep "")
'teste si c'est un fichier ou un répertoire
If (GetAttr(Dossier & rep) And vbDirectory) = vbDirectory Then
'MsgBox "Répertoire " & rep
Else
Nom_Tbl = Left(rep, Len(rep) - 4)

'On attache le fichier trouvé
DoCmd.TransferText acLinkDelim, , Nom_Tbl, Dossier & rep, True
'On Ajoute les données dans la table de destination
DoCmd.RunSQL "INSERT INTO Tabledest ( Champ1, Champ2, Champ3,Champ4 )SELECT Champ1 AS Expr1, Champ2 AS Expr2, Champ3 AS Expr3, Champ4 AS Expr4 FROM [" & Nom_Tbl & "];"
'On libère le fichier
DoCmd.DeleteObject acTable, Nom_Tbl
End If
Suite:
'passe à l'élément suivant
rep = Dir
Loop
GoTo Fin
Erreur:
Fin:
End Sub

Lorsque je lance le deboogage rien ne se passe... J'ai pourtant ajouté la reference DAO 3.6!
 

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 989
Membres
101 856
dernier inscrit
Marina40