Y a t'il un moyen pour importer automatiquement tous les
fichiers *.txt d'un répertoire donné dans des nouvelles
tables correspondantes (une table par fichier portant son
nom).
Bien sûr, sans préciser dans le code le nom du fichier et
le nom de la table destinataire (on peut avoir 100
fichiers, dc on peut tout écrire ;);)
Défi
Merci beaucoup
Exemple:
monfichier = Dir(MonRépertoire & "*.txt")
Do While monfichier <> ""
monchemin = MonRépertoire & monfichier
DoCmd.TransferText acImportFixed, nomDelaStructere, NomDelaTable, monchemin
(par exemple)
monfichier = Dir
Loop
en espérant t'avoir aider
Fabrice
"atmus" <at...@mixmail.cm> a écrit dans le message de news:
02aa01c31489$e7da62f0$a001...@phx.gbl...
Tu peux te créer une fonction de ce type, (attention non testée, bien
vérifier !)
Private Sub Commande2_Click()
Chercher "C:\répertoire", "*.txt", True ' ou false
End Sub
Public Function Chercher(NomDuChemin As String, NomDuFichier As String,
Sous_répertoires As Boolean)
Dim I As Integer
Dim LaTable As String
On Error Resume Next
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
.SearchSubFolders = Sous_répertoires
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
LaTable = Mid(.FoundFiles(I), InStrRev(.FoundFiles(I), "\")
+ 1)
LaTable = Mid(LaTable, 1, InStrRev(LaTable, ".") - 1)
DoCmd.TransferText acImportDelim, , LaTable, .FoundFiles(I),
True
Next I
End If
End With
End Function
Tu peux aussi utiliser Dir qui te ramènera le nom du fichier seulement, mais
Dir ne peut pas ramener en même temps tous les sous-répertoires du chemin
principal et dans ton cas avec une centaine de fichiers, peut-être
seront-ils dans plusieurs sous-répertoires . Dans Dir il faut aussi
connaître le chemin exact.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"atmus" <at...@mixmail.cm> a écrit dans le message de
news:02aa01c31489$e7da62f0$a001...@phx.gbl...
merci Fab et Raymond
mais pour la fonction qui tu m'a donné, raymond, j'arrive
à l'exécuter.
J'ai créé un module où j'ai inséré la fonction et j'ai
créé une macro pour appeler le code. Mais apparemment, il
faut remplir :
CHERCHER
(«NomDuChemin»; «NomDuFichier»; «Sous_répertoires») (ce
qui est entre guillemets). Or moi je n'ai pas de
nomdufichier exact ni de sous répertoirE
A moins que j'ai mal procédé pour importer les fichiers.
Si c'est pas beaucoup, tu peux me décrire comment je dois
procéder, je suis hypernul en fonctions et leurs
utilisations
Désolé pour dérangement
>-----Message d'origine-----
>.
>
Qu'à cela ne tienne:
N'écoutes pas ce qu'on te dit....... ne mets pas les ; mais des ,
Chercher ("c:\", "*.txt", "false")
remplaces le c:\ par ton répertoire dans lequel se trouvent les fichiers.
false veut dire pas de sous-répertoires.
*.txt veut dire tous les fichiers avec extension txt.
j'ai testé ça marche.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"atmus" <at...@mixmail.com> a écrit dans le message de
news:035601c314a1$78e883a0$2f01...@phx.gbl...