traitement de fichier

Le
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écuperer 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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #18333291
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 !!!!
bastientot
Le #18333681
re

super comme d'hab ;-)

grand merci.


On 8 jan, 14:15, 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 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 !!!!


FFO
Le #18335031
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
Publicité
Poster une réponse
Anonyme