J'ai plusieurs fichiers texte sources que je souhaite=20
concat=E9ner dans un seul fichier.
Les fichiers sources se nomment :
fic01.txt
fic02.txt
..
fic99.txt
J'arrive =E0 faire la boucle (puisque jusqu'=E0 pr=E9sent je les=20
importais dans une table), mais aujourd'hui j'aimerais ne=20
faire qu'un seul fichier --> fichier.txt(avec les lignes=20
de fic02 sous celles de fic01 et ainsi de suite).
J'imagine que "OpenTextFile" devrait pouvoir fonctionner=20
mais je ne parviens pas =E0 l'utiliser et, qui plus est, je=20
ne sais pas du tout comment concat=E9ner plusieurs fichier.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
bjf
Salut jpg
ci-dessous un exemple. A trier.
Private Sub Commande227_Click() 'Charger les données dans la base de données Dim t As DAO.TableDef, f As DAO.Field, bd As DAO.Database, rs1 As DAO.Recordset 'Initialise la base Set bd = CurrentDb 'Initialise la table Set t = bd.TableDefs("USYSParoisse") 'Charge les données Set rs1 = t.OpenRecordset() 'Déclare les variables Dim NoParoisse As String, I As Integer, Y As Integer, typeFile As String, MyPath As String Dim intTotalFiles As Integer 'Variable pour table des fichiers Dim strTable As String, strField As String, strFile As String, strDir As String
'Initialisation du directory 'Fonction Répertoire de Infos_Disque MyPath = SelectFolder() If MyPath <> "" Then typeFile = InputBox("Recherche de fichier type ? ", , "*.txt") If typeFile <> "" Then ViderTable ("SCR mutations importées brutes")
intTotalFiles = 0 For Y = 2 To 11 NoParoisse = rs1(Y) If (NoParoisse > 0) And (NoParoisse < 99) Then typeFile = "FCRN*" & NoParoisse & ".txt" strTable = ("T_NomFichierMutations") strField = ("Nom_Fichier") With Application.FileSearch .NewSearch .fileName = typeFile .LookIn = MyPath .SearchSubFolders = True .MatchTextExactly = False '.MatchAllWordForms = True '.MatchTextExactly = True If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending)
0 Then MsgBox ("Nombre de fichiers
trouvés = " & .FoundFiles.Count & " (" & .FoundFiles(1) & " )") intTotalFiles = intTotalFiles + .FoundFiles.Count For I = 1 To .FoundFiles.Count DoCmd.TransferText acImportFixed, "TPAR FCRN Spécification d'importation", _ "SCR mutations importées brutes", .FoundFiles(I), False, "" strFile = .FoundFiles(I) strDir = ChercheChemin(strFile) strFile = Right(strFile, Len (strFile) - (Len(strDir))) 'Requête SQL CurrentDb.Execute "INSERT INTO [" & strTable & "] ( [Nom_chemin] , [" & strField & "])" _ & "SELECT """ & strDir & """, """ & strFile & """;" Next I End If End With End If 'Paroisse Next Y 'Chargement dans la table
suite du traitement
End If 'typeFile ViderTable ("SCR mutations importées brutes") 'MsgBox "Table(s) Paroissiale(s) importée(s)!" & Chr (13) & Chr(10) & Chr(10) & "Cliquez sur OK !", vbInformation, "IMPORTATION INITIALE!"
Else 'Fichier trouvé End If
MsgBox ("Nombre total de fichiers = " & intTotalFiles)
End Sub
-----Message d'origine----- Bonjour,
J'ai plusieurs fichiers texte sources que je souhaite concaténer dans un seul fichier.
Les fichiers sources se nomment : fic01.txt fic02.txt ... fic99.txt
J'arrive à faire la boucle (puisque jusqu'à présent je les
importais dans une table), mais aujourd'hui j'aimerais ne faire qu'un seul fichier --> fichier.txt(avec les lignes de fic02 sous celles de fic01 et ainsi de suite).
J'imagine que "OpenTextFile" devrait pouvoir fonctionner mais je ne parviens pas à l'utiliser et, qui plus est, je ne sais pas du tout comment concaténer plusieurs fichier.
Merci beaucoup pour votre aide.
.
Salut jpg
ci-dessous un exemple. A trier.
Private Sub Commande227_Click()
'Charger les données dans la base de données
Dim t As DAO.TableDef, f As DAO.Field, bd As DAO.Database,
rs1 As DAO.Recordset
'Initialise la base
Set bd = CurrentDb
'Initialise la table
Set t = bd.TableDefs("USYSParoisse")
'Charge les données
Set rs1 = t.OpenRecordset()
'Déclare les variables
Dim NoParoisse As String, I As Integer, Y As Integer,
typeFile As String, MyPath As String
Dim intTotalFiles As Integer
'Variable pour table des fichiers
Dim strTable As String, strField As String, strFile As
String, strDir As String
'Initialisation du directory
'Fonction Répertoire de Infos_Disque
MyPath = SelectFolder()
If MyPath <> "" Then
typeFile = InputBox("Recherche de fichier
type ? ", , "*.txt")
If typeFile <> "" Then
ViderTable ("SCR mutations importées brutes")
intTotalFiles = 0
For Y = 2 To 11
NoParoisse = rs1(Y)
If (NoParoisse > 0) And (NoParoisse < 99) Then
typeFile = "FCRN*" & NoParoisse & ".txt"
strTable = ("T_NomFichierMutations")
strField = ("Nom_Fichier")
With Application.FileSearch
.NewSearch
.fileName = typeFile
.LookIn = MyPath
.SearchSubFolders = True
.MatchTextExactly = False
'.MatchAllWordForms = True
'.MatchTextExactly = True
If .Execute(SortBy:=msoSortByFileName,
_
SortOrder:=msoSortOrderAscending)
0 Then
MsgBox ("Nombre de fichiers
trouvés = " & .FoundFiles.Count & " (" & .FoundFiles(1)
& " )")
intTotalFiles = intTotalFiles
+ .FoundFiles.Count
For I = 1 To .FoundFiles.Count
DoCmd.TransferText
acImportFixed, "TPAR FCRN Spécification d'importation", _
"SCR mutations importées
brutes", .FoundFiles(I), False, ""
strFile = .FoundFiles(I)
strDir = ChercheChemin(strFile)
strFile = Right(strFile, Len
(strFile) - (Len(strDir)))
'Requête SQL
CurrentDb.Execute "INSERT INTO
[" & strTable & "] ( [Nom_chemin] , [" & strField & "])" _
& "SELECT """ & strDir
& """, """ & strFile & """;"
Next I
End If
End With
End If 'Paroisse
Next Y
'Chargement dans la table
suite du traitement
End If 'typeFile
ViderTable ("SCR mutations importées brutes")
'MsgBox "Table(s) Paroissiale(s) importée(s)!" & Chr
(13) & Chr(10) & Chr(10) & "Cliquez sur OK !",
vbInformation, "IMPORTATION INITIALE!"
Else
'Fichier trouvé
End If
MsgBox ("Nombre total de fichiers = " & intTotalFiles)
End Sub
-----Message d'origine-----
Bonjour,
J'ai plusieurs fichiers texte sources que je souhaite
concaténer dans un seul fichier.
Les fichiers sources se nomment :
fic01.txt
fic02.txt
...
fic99.txt
J'arrive à faire la boucle (puisque jusqu'à présent je
les
importais dans une table), mais aujourd'hui j'aimerais ne
faire qu'un seul fichier --> fichier.txt(avec les lignes
de fic02 sous celles de fic01 et ainsi de suite).
J'imagine que "OpenTextFile" devrait pouvoir fonctionner
mais je ne parviens pas à l'utiliser et, qui plus est, je
ne sais pas du tout comment concaténer plusieurs fichier.
Private Sub Commande227_Click() 'Charger les données dans la base de données Dim t As DAO.TableDef, f As DAO.Field, bd As DAO.Database, rs1 As DAO.Recordset 'Initialise la base Set bd = CurrentDb 'Initialise la table Set t = bd.TableDefs("USYSParoisse") 'Charge les données Set rs1 = t.OpenRecordset() 'Déclare les variables Dim NoParoisse As String, I As Integer, Y As Integer, typeFile As String, MyPath As String Dim intTotalFiles As Integer 'Variable pour table des fichiers Dim strTable As String, strField As String, strFile As String, strDir As String
'Initialisation du directory 'Fonction Répertoire de Infos_Disque MyPath = SelectFolder() If MyPath <> "" Then typeFile = InputBox("Recherche de fichier type ? ", , "*.txt") If typeFile <> "" Then ViderTable ("SCR mutations importées brutes")
intTotalFiles = 0 For Y = 2 To 11 NoParoisse = rs1(Y) If (NoParoisse > 0) And (NoParoisse < 99) Then typeFile = "FCRN*" & NoParoisse & ".txt" strTable = ("T_NomFichierMutations") strField = ("Nom_Fichier") With Application.FileSearch .NewSearch .fileName = typeFile .LookIn = MyPath .SearchSubFolders = True .MatchTextExactly = False '.MatchAllWordForms = True '.MatchTextExactly = True If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending)
0 Then MsgBox ("Nombre de fichiers
trouvés = " & .FoundFiles.Count & " (" & .FoundFiles(1) & " )") intTotalFiles = intTotalFiles + .FoundFiles.Count For I = 1 To .FoundFiles.Count DoCmd.TransferText acImportFixed, "TPAR FCRN Spécification d'importation", _ "SCR mutations importées brutes", .FoundFiles(I), False, "" strFile = .FoundFiles(I) strDir = ChercheChemin(strFile) strFile = Right(strFile, Len (strFile) - (Len(strDir))) 'Requête SQL CurrentDb.Execute "INSERT INTO [" & strTable & "] ( [Nom_chemin] , [" & strField & "])" _ & "SELECT """ & strDir & """, """ & strFile & """;" Next I End If End With End If 'Paroisse Next Y 'Chargement dans la table
suite du traitement
End If 'typeFile ViderTable ("SCR mutations importées brutes") 'MsgBox "Table(s) Paroissiale(s) importée(s)!" & Chr (13) & Chr(10) & Chr(10) & "Cliquez sur OK !", vbInformation, "IMPORTATION INITIALE!"
Else 'Fichier trouvé End If
MsgBox ("Nombre total de fichiers = " & intTotalFiles)
End Sub
-----Message d'origine----- Bonjour,
J'ai plusieurs fichiers texte sources que je souhaite concaténer dans un seul fichier.
Les fichiers sources se nomment : fic01.txt fic02.txt ... fic99.txt
J'arrive à faire la boucle (puisque jusqu'à présent je les
importais dans une table), mais aujourd'hui j'aimerais ne faire qu'un seul fichier --> fichier.txt(avec les lignes de fic02 sous celles de fic01 et ainsi de suite).
J'imagine que "OpenTextFile" devrait pouvoir fonctionner mais je ne parviens pas à l'utiliser et, qui plus est, je ne sais pas du tout comment concaténer plusieurs fichier.