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

traitement de fichier

3 réponses
Avatar
bastientot
Bonjour,

voila mon probleme :

sur mon reseau j'ai dans un repertoire ( rep1) des fichiers avec comme
nom "abcd_abcdefghie001_07012009.doc" et j'aimerais r=E9cuperer juste ce
qu'il y a entre _ dans une feuille excel ensuite dans un sous-
repertoire (rep2 sous repertoire de rep1)) j'ai d'autre fichier du
meme type et j'aimerais faire la meme chose dans une autre feuille du
meme classeur.

est ce possible et si oui comment ?

merci de votre aide.

3 réponses

Avatar
FFO
Salut à toi

Ce code recopie en Feuil2 toutes les parties des noms de fichier d'un
répertoire situé entre 2 "_" :

With Application.FileSearch
.LookIn = "C:Chemin"
.FileType = msoFileTypeWordDocuments
.Execute
End With
With Application.FileSearch
For I = 1 To .FoundFiles.Count
A = Mid(.FoundFiles(I), Len(.LookIn) + 2)
If UBound(Split(Mid(.FoundFiles(I), Len(.LookIn) + 2), "_")) <> 0 Then
Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, 0) =
Split(Mid(.FoundFiles(I), Len(.LookIn) + 2), "_")(1)
End If
Next I
End With


Adaptes les lignes :

.LookIn = "C:Chemin" du chemin de ton dossier possédant les fichiers

Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, 0) =
Split(Mid(.FoundFiles(I), Len(.LookIn) + 2), "_")(1) du nom de la feuille et
de sa colonne dans laquelle tu souhaites rapporter les résultats

Nom de la feuille : Sheets("Feuil2")
Colonne : Range("A65535").End(xlUp).Offset(1, 0)

Tu peux rajouter en suivant une 2° fois ce code en réadaptant ces lignes du
nouveau répertoire et de la nouvelle feuille et colonne pour réaliser la même
opération pour tes sous répertoires

Celà devrait faire
Dis moi !!!!
Avatar
bastientot
re

super comme d'hab ;-)

grand merci.


On 8 jan, 14:15, FFO wrote:
Salut à toi

Ce code recopie en Feuil2 toutes les parties des noms de fichier d'un
répertoire situé entre 2 "_" :

With Application.FileSearch
.LookIn = "C:Chemin"
.FileType = msoFileTypeWordDocuments
.Execute
End With
With Application.FileSearch
For I = 1 To .FoundFiles.Count
A = Mid(.FoundFiles(I), Len(.LookIn) + 2)
If UBound(Split(Mid(.FoundFiles(I), Len(.LookIn) + 2), "_")) <> 0 Then
Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, 0) =
Split(Mid(.FoundFiles(I), Len(.LookIn) + 2), "_")(1)
End If
Next I
End With

Adaptes les lignes :

.LookIn = "C:Chemin" du chemin de ton dossier possédant les fichiers

Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, 0) =
Split(Mid(.FoundFiles(I), Len(.LookIn) + 2), "_")(1)  du nom de la feui lle et
de sa colonne dans laquelle tu souhaites rapporter les résultats

Nom de la feuille : Sheets("Feuil2")
Colonne : Range("A65535").End(xlUp).Offset(1, 0)

Tu peux rajouter en suivant une 2° fois ce code en réadaptant ces lig nes du
nouveau répertoire et de la nouvelle feuille et colonne pour réaliser la même
opération pour tes sous répertoires

Celà devrait faire
Dis moi !!!!


Avatar
FFO
Rebonjour à toi

Content que celà te convienne !!!!

Une petite réctification dans mon code

la ligne :

A = Mid(.FoundFiles(I), Len(.LookIn) + 2)

ne sert à rien pour son fonctionnement
Je ne l'ai mis que pour contrôler un paramètre au moment de son élaboration
J'ai oublié de la supprimer

Donc ligne à enlever du code

Mille excuses

A bientôt peut être