Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

import csv + parametre

10 réponses
Avatar
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

10 réponses

Avatar
Raymond [mvp]
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" a écrit dans le message de
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




Avatar
alain
suis pas un pro du vba, un peu d'aide me sauverait.

Merci

alain


"Raymond [mvp]" a écrit dans le message de
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" a écrit dans le message de
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








Avatar
Raymond [mvp]
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" a écrit dans le message de
news:c58hbp$9op$
suis pas un pro du vba, un peu d'aide me sauverait.

Merci

alain



Avatar
alain
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]" a écrit dans le message de
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" a écrit dans le message de
news:c58hbp$9op$
suis pas un pro du vba, un peu d'aide me sauverait.

Merci

alain







Avatar
Raymond [mvp]
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" a écrit dans le message de
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)



Avatar
Raymond [mvp]
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
Avatar
alain
merci de ton aide
je teste
et je donne le résultat!

alain
"Raymond [mvp]" a écrit dans le message de
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




Avatar
alain
Re bonjour,

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

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

Merci

alain


"alain" a écrit dans le message de
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




Avatar
Raymond [mvp]
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" a écrit dans le message de
news:c59ckk$382$
Re bonjour,

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

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

Merci

alain



Avatar
alain
Bonsoir,

çà marche à merveille.

Merci

alain
"Raymond [mvp]" a écrit dans le message de
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" a écrit dans le message de
news:c59ckk$382$
Re bonjour,

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

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

Merci

alain