import csv + parametre

Le
alain
Bonjour,
je voudrais importer les fichiers quotidiens de la forme back(01/03/04).csv
dans une table unique BACK. J'ai créer une macro qui fonctionne mais
m'oblige à entrer les dates une à une, j'exécute donc 30 fois la macro pour
importer un mois entier ! C'est pas très rusé, mais je n'arrive pas à le
faire en utilisant un parametre "JJ" qui prendrait successivement les
valeurs 01,02,03 etc..
merci de votre aide.

Alain
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #5022511
bonjour.
il faudrait que tu passes par une fonction VBA qui te génèrera une boucle de
30 ou 31 ou qui sera à même de tester si les fichiers existent ou non dans
ton répertoire et lancer la requête voulue. es-tu contre le vba ? ou as-tu
des problèmes pour l'écrire ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"alain" news:c58414$bph$
Bonjour,
je voudrais importer les fichiers quotidiens de la forme
back(01/03/04).csv

dans une table unique BACK. J'ai créer une macro qui fonctionne mais
m'oblige à entrer les dates une à une, j'exécute donc 30 fois la macro
pour

importer un mois entier ! C'est pas très rusé, mais je n'arrive pas à le
faire en utilisant un parametre "JJ" qui prendrait successivement les
valeurs 01,02,03 etc..
merci de votre aide.

Alain




alain
Le #5022471
suis pas un pro du vba, un peu d'aide me sauverait.

Merci

alain


"Raymond [mvp]" news:
bonjour.
il faudrait que tu passes par une fonction VBA qui te génèrera une boucle
de

30 ou 31 ou qui sera à même de tester si les fichiers existent ou non dans
ton répertoire et lancer la requête voulue. es-tu contre le vba ? ou as-tu
des problèmes pour l'écrire ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"alain" news:c58414$bph$
Bonjour,
je voudrais importer les fichiers quotidiens de la forme
back(01/03/04).csv

dans une table unique BACK. J'ai créer une macro qui fonctionne mais
m'oblige à entrer les dates une à une, j'exécute donc 30 fois la macro
pour

importer un mois entier ! C'est pas très rusé, mais je n'arrive pas à le
faire en utilisant un parametre "JJ" qui prendrait successivement les
valeurs 01,02,03 etc..
merci de votre aide.

Alain








Raymond [mvp]
Le #5022431
il me semblait.
donne :
le nom du répertoire sur lequel se trouvent les fichiers,
le nom exact d'un fichier,
les fichiers présents sont-ils tous à importer ou faut-il tester la date
avec le nom fu fichier ? ou un autre test ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"alain" news:c58hbp$9op$
suis pas un pro du vba, un peu d'aide me sauverait.

Merci

alain



alain
Le #5022411
repertoire c:csv
fichier: SMDR(backup03-04-2004).csv
je fais un import mensuel donc çà serait génial de tester le mois (04)

merci

alain

"Raymond [mvp]" news:
il me semblait.
donne :
le nom du répertoire sur lequel se trouvent les fichiers,
le nom exact d'un fichier,
les fichiers présents sont-ils tous à importer ou faut-il tester la date
avec le nom fu fichier ? ou un autre test ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"alain" news:c58hbp$9op$
suis pas un pro du vba, un peu d'aide me sauverait.

Merci

alain







Raymond [mvp]
Le #5022401
tu n'es pas pressé, tu pars à Rome comme tout le monde ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"alain" news:c58ibe$425$
repertoire c:csv
fichier: SMDR(backup03-04-2004).csv
je fais un import mensuel donc çà serait génial de tester le mois (04)



Raymond [mvp]
Le #5022361
Tu peux utiliser cette fonction:
Dim I As Integer
With FileSearch
.NewSearch
.LookIn = "c:csv"
.FileName = "*" & Format(Date, "mm-yyyy") & "*.csv"
.SearchSubFolders = False
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
DoCmd.TransferText acImportDelim, , "TableImport",
.FoundFiles(I), True
Next I
Else
MsgBox "je ne trouve pas de fichier correspondant"
End If
End With

il est bien entendu que la fonction d'import doit correspondre exactement à
la structure de ton fichier csv et que tu devras peut-être l'ajuster.
en ce qui concerne la date, j'ai pris la date du jour mais tu devras
peut-être la faire composer par l'utilisateur pour avoir une date bien
précise.
sous ces 2 conditions, tous les fichiers dont le nom comportera 04-2004 dans
le nom seront importés dans la table tableImport
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
alain
Le #5022331
merci de ton aide
je teste
et je donne le résultat!

alain
"Raymond [mvp]" news:e$
Tu peux utiliser cette fonction:
Dim I As Integer
With FileSearch
.NewSearch
.LookIn = "c:csv"
.FileName = "*" & Format(Date, "mm-yyyy") & "*.csv"
.SearchSubFolders = False
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
DoCmd.TransferText acImportDelim, , "TableImport",
.FoundFiles(I), True
Next I
Else
MsgBox "je ne trouve pas de fichier correspondant"
End If
End With

il est bien entendu que la fonction d'import doit correspondre exactement
à

la structure de ton fichier csv et que tu devras peut-être l'ajuster.
en ce qui concerne la date, j'ai pris la date du jour mais tu devras
peut-être la faire composer par l'utilisateur pour avoir une date bien
précise.
sous ces 2 conditions, tous les fichiers dont le nom comportera 04-2004
dans

le nom seront importés dans la table tableImport
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum




alain
Le #5022261
Re bonjour,

VBA me renvoi une erreur sur ".FoundFiles(I) , true"

J'ai essayé de modifier...sans résultat.

Merci

alain


"alain" news:c58414$bph$
Bonjour,
je voudrais importer les fichiers quotidiens de la forme
back(01/03/04).csv

dans une table unique BACK. J'ai créer une macro qui fonctionne mais
m'oblige à entrer les dates une à une, j'exécute donc 30 fois la macro
pour

importer un mois entier ! C'est pas très rusé, mais je n'arrive pas à le
faire en utilisant un parametre "JJ" qui prendrait successivement les
valeurs 01,02,03 etc..
merci de votre aide.

Alain




Raymond [mvp]
Le #5022251
c'est la suite de la ligne précédente, supprime le saut de ligne comme ceci:

.... "TableImport", .FoundFiles(I), True

compile pour voir si tout va bien.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"alain" news:c59ckk$382$
Re bonjour,

VBA me renvoi une erreur sur ".FoundFiles(I) , true"

J'ai essayé de modifier...sans résultat.

Merci

alain



alain
Le #5021611
Bonsoir,

çà marche à merveille.

Merci

alain
"Raymond [mvp]" news:%
c'est la suite de la ligne précédente, supprime le saut de ligne comme
ceci:


.... "TableImport", .FoundFiles(I), True

compile pour voir si tout va bien.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"alain" news:c59ckk$382$
Re bonjour,

VBA me renvoi une erreur sur ".FoundFiles(I) , true"

J'ai essayé de modifier...sans résultat.

Merci

alain







Publicité
Poster une réponse
Anonyme