Voila pour mon boulot je dois faire un traitement de fichiers txt Excel
Le traitement consiste à :
Ouvrir un certain nombre de fichiers texte et les convertir
rechercher pour chaque fichier texte le nombre d'occurrences d'un mot (le
mot est « lancement ») dans une feuille. Ce mot est toujours placé dans la
même colonne.
Créer un nouveau classeur qui s'appellera « synthèse.xls ».
Reporter le nombre d'occurrences du mot recherché trouvé dans chaque fichier
texte sur le classeur synthèse.xls ainsi que le nom du fichier txt d'origine
Lorsque tous les fichiers texte ont été traités, les fermer, enregistrer le
fichier de rapport et le fermer.
Les fichiers sont toujours dans le même répertoire.
Je sais faire une macro (grosse bidouille mais ça marche) qui pour chaque
fichier inscrive en dernière ligne de la colonne où il y a le mot «
lancement » le nombre de fois que « lancement » apparaît.
Ce que je ne sais pas faire c'est :
· ouvrir au fur et à mesure les fichirs txt (leur nombre est
variable)
· reporter dans le fichier synthèse.xls les résultats issus des
différents fichiers txt en incrémentant chaque fois une ligne cad :
1er fichier sur 1ère ligne : son nom et le nombre d'occurrences du mot
lancement
2ème fichier sur 2ème ligne : son nom et le nombre d'occurrences du mot
lancement
3ème fichier sur 3ème ligne : son nom et le nombre d'occurrences du mot
lancement
· et puis à la fin fermer tous les fichiers txt (ou juste après y
avoir trouvé les occurrences du mot lancement)
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
MichDenis
Cette procédure te donne le nombre d'occurrence du mot recherché peu importe où ce dernier se situe dans le texte du fichier sans égard à la casse du mot recherché.
Il va scanner tous les fichiers ".txt" du répertoire spécifié.
'------------------------------- Sub test()
Dim LeFichier As String, Texte As String Dim Repertoire As String, Nb As Long Dim FS As Object, F As Object Dim MotChercher As String
MotChercher = "lancement" ' à déterminer
Repertoire = "c:Atravail" ' à déterminer
If Dir(Repertoire, vbDirectory) <> "" Then Set FS = CreateObject("Scripting.FileSystemObject") LeFichier = Dir(Repertoire & "*.txt") Do Until LeFichier = "" Set F = FS.OpenTextFile(Repertoire & LeFichier, 1) Texte = LCase(F.readall) Nb = Nb + ((Len(Texte) - (Len(Application.Substitute _ (Texte, MotChercher, ""))))) / Len(MotChercher) F.Close Texte = "" LeFichier = Dir() Loop End If MsgBox Nb & " occurrences du mot """ & MotChercher & """."
End Sub '-------------------------------
"luciano" a écrit dans le message de news: 47869024$0$1077$ Bonjour,
Voila pour mon boulot je dois faire un traitement de fichiers txt Excel
Le traitement consiste à :
Ouvrir un certain nombre de fichiers texte et les convertir
rechercher pour chaque fichier texte le nombre d'occurrences d'un mot (le mot est « lancement ») dans une feuille. Ce mot est toujours placé dans la même colonne.
Créer un nouveau classeur qui s'appellera « synthèse.xls ».
Reporter le nombre d'occurrences du mot recherché trouvé dans chaque fichier texte sur le classeur synthèse.xls ainsi que le nom du fichier txt d'origine
Lorsque tous les fichiers texte ont été traités, les fermer, enregistrer le fichier de rapport et le fermer.
Les fichiers sont toujours dans le même répertoire.
Je sais faire une macro (grosse bidouille mais ça marche) qui pour chaque fichier inscrive en dernière ligne de la colonne où il y a le mot « lancement » le nombre de fois que « lancement » apparaît.
Ce que je ne sais pas faire c'est :
· ouvrir au fur et à mesure les fichirs txt (leur nombre est variable)
· reporter dans le fichier synthèse.xls les résultats issus des différents fichiers txt en incrémentant chaque fois une ligne cad :
1er fichier sur 1ère ligne : son nom et le nombre d'occurrences du mot lancement
2ème fichier sur 2ème ligne : son nom et le nombre d'occurrences du mot lancement
3ème fichier sur 3ème ligne : son nom et le nombre d'occurrences du mot lancement
· et puis à la fin fermer tous les fichiers txt (ou juste après y avoir trouvé les occurrences du mot lancement)
· enregistrer synthèse.xls
merci d'avance de votre aide
Luciano
Cette procédure te donne le nombre d'occurrence du mot recherché
peu importe où ce dernier se situe dans le texte du fichier sans égard
à la casse du mot recherché.
Il va scanner tous les fichiers ".txt" du répertoire spécifié.
'-------------------------------
Sub test()
Dim LeFichier As String, Texte As String
Dim Repertoire As String, Nb As Long
Dim FS As Object, F As Object
Dim MotChercher As String
MotChercher = "lancement" ' à déterminer
Repertoire = "c:Atravail" ' à déterminer
If Dir(Repertoire, vbDirectory) <> "" Then
Set FS = CreateObject("Scripting.FileSystemObject")
LeFichier = Dir(Repertoire & "*.txt")
Do Until LeFichier = ""
Set F = FS.OpenTextFile(Repertoire & LeFichier, 1)
Texte = LCase(F.readall)
Nb = Nb + ((Len(Texte) - (Len(Application.Substitute _
(Texte, MotChercher, ""))))) / Len(MotChercher)
F.Close
Texte = ""
LeFichier = Dir()
Loop
End If
MsgBox Nb & " occurrences du mot """ & MotChercher & """."
End Sub
'-------------------------------
"luciano" <pao.priol@free.fr> a écrit dans le message de news:
47869024$0$1077$426a74cc@news.free.fr...
Bonjour,
Voila pour mon boulot je dois faire un traitement de fichiers txt Excel
Le traitement consiste à :
Ouvrir un certain nombre de fichiers texte et les convertir
rechercher pour chaque fichier texte le nombre d'occurrences d'un mot (le
mot est « lancement ») dans une feuille. Ce mot est toujours placé dans la
même colonne.
Créer un nouveau classeur qui s'appellera « synthèse.xls ».
Reporter le nombre d'occurrences du mot recherché trouvé dans chaque fichier
texte sur le classeur synthèse.xls ainsi que le nom du fichier txt d'origine
Lorsque tous les fichiers texte ont été traités, les fermer, enregistrer le
fichier de rapport et le fermer.
Les fichiers sont toujours dans le même répertoire.
Je sais faire une macro (grosse bidouille mais ça marche) qui pour chaque
fichier inscrive en dernière ligne de la colonne où il y a le mot «
lancement » le nombre de fois que « lancement » apparaît.
Ce que je ne sais pas faire c'est :
· ouvrir au fur et à mesure les fichirs txt (leur nombre est
variable)
· reporter dans le fichier synthèse.xls les résultats issus des
différents fichiers txt en incrémentant chaque fois une ligne cad :
1er fichier sur 1ère ligne : son nom et le nombre d'occurrences du mot
lancement
2ème fichier sur 2ème ligne : son nom et le nombre d'occurrences du mot
lancement
3ème fichier sur 3ème ligne : son nom et le nombre d'occurrences du mot
lancement
· et puis à la fin fermer tous les fichiers txt (ou juste après y
avoir trouvé les occurrences du mot lancement)
Cette procédure te donne le nombre d'occurrence du mot recherché peu importe où ce dernier se situe dans le texte du fichier sans égard à la casse du mot recherché.
Il va scanner tous les fichiers ".txt" du répertoire spécifié.
'------------------------------- Sub test()
Dim LeFichier As String, Texte As String Dim Repertoire As String, Nb As Long Dim FS As Object, F As Object Dim MotChercher As String
MotChercher = "lancement" ' à déterminer
Repertoire = "c:Atravail" ' à déterminer
If Dir(Repertoire, vbDirectory) <> "" Then Set FS = CreateObject("Scripting.FileSystemObject") LeFichier = Dir(Repertoire & "*.txt") Do Until LeFichier = "" Set F = FS.OpenTextFile(Repertoire & LeFichier, 1) Texte = LCase(F.readall) Nb = Nb + ((Len(Texte) - (Len(Application.Substitute _ (Texte, MotChercher, ""))))) / Len(MotChercher) F.Close Texte = "" LeFichier = Dir() Loop End If MsgBox Nb & " occurrences du mot """ & MotChercher & """."
End Sub '-------------------------------
"luciano" a écrit dans le message de news: 47869024$0$1077$ Bonjour,
Voila pour mon boulot je dois faire un traitement de fichiers txt Excel
Le traitement consiste à :
Ouvrir un certain nombre de fichiers texte et les convertir
rechercher pour chaque fichier texte le nombre d'occurrences d'un mot (le mot est « lancement ») dans une feuille. Ce mot est toujours placé dans la même colonne.
Créer un nouveau classeur qui s'appellera « synthèse.xls ».
Reporter le nombre d'occurrences du mot recherché trouvé dans chaque fichier texte sur le classeur synthèse.xls ainsi que le nom du fichier txt d'origine
Lorsque tous les fichiers texte ont été traités, les fermer, enregistrer le fichier de rapport et le fermer.
Les fichiers sont toujours dans le même répertoire.
Je sais faire une macro (grosse bidouille mais ça marche) qui pour chaque fichier inscrive en dernière ligne de la colonne où il y a le mot « lancement » le nombre de fois que « lancement » apparaît.
Ce que je ne sais pas faire c'est :
· ouvrir au fur et à mesure les fichirs txt (leur nombre est variable)
· reporter dans le fichier synthèse.xls les résultats issus des différents fichiers txt en incrémentant chaque fois une ligne cad :
1er fichier sur 1ère ligne : son nom et le nombre d'occurrences du mot lancement
2ème fichier sur 2ème ligne : son nom et le nombre d'occurrences du mot lancement
3ème fichier sur 3ème ligne : son nom et le nombre d'occurrences du mot lancement
· et puis à la fin fermer tous les fichiers txt (ou juste après y avoir trouvé les occurrences du mot lancement)