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

demande d'aide

1 réponse
Avatar
luciano
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

1 réponse

Avatar
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