liste des fichiers SI un fichier est présent dans un repertoire

Le
Alfred WALLACE
Bonjour à tous les gurus et bonne année 2009 !!


j'aimerai récupérer dans une feuille
la liste des fichiers qui se trouvent dans un sous-dossier /donnees/.

Puis, par la suite,
si dans ce sous-dossier /donnees/ il existe un fichier maj.txt
j'aimerai effacer maj.txt et récuperer la liste comme précédement.


Pourriez vous m'éclairer sur la méthode à suivre ou un chtit
exemple ?

Merci pour votre aide.

josé
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
michdenis
Le #18510821
Dim Chemin As String
Dim Fichier As String

Chemin = "c:CheminoùEstTonFichier"
Fichier = "maj.txt"

if dir(chemin & fichier) <>"" then
Kill chemin & fichier
end if

la suppression sera définitive... et non dans la poubelle.



"Alfred WALLACE"
Bonjour à tous les gurus et bonne année 2009 !!


j'aimerai récupérer dans une feuille
la liste des fichiers qui se trouvent dans un sous-dossier /donnees/.

Puis, par la suite,
si dans ce sous-dossier /donnees/ il existe un fichier maj.txt
j'aimerai effacer maj.txt et récuperer la liste comme précédement.


Pourriez vous m'éclairer sur la méthode à suivre ou un chtit
exemple ?

Merci pour votre aide.

josé
FFO
Le #18510811
Salut à toi

Quelque chose comme ceci :

With Application.FileSearch
.LookIn = "C:Chemindonnees"
.FileType = msoFileTypeAllFiles
.Execute
End With
With Application.FileSearch
For I = 1 To .FoundFiles.Count
If Mid(.FoundFiles(I), Len(.LookIn) + 2) <> "maj.txt" Then
ActiveSheet.Range("A65535").End(xlUp).Offset(1, 0) = Mid(.FoundFiles(I),
Len(.LookIn) + 2)
End If
Next I

Résultat dans la feuille active en colonne A

Celà devrait convenir
Dis moi !!!!
Alfred WALLACE
Le #18512091
Salut à toi ,

j'ai ré-écris ton code :

Sub test()

With Application.FileSearch
.LookIn = "C:Chemindonnees" <<--- comment lui dire "répertoire dans
lequel est le fichier excel ?
.FileType = msoFileTypeAllFiles
.Execute
End With

With Application.FileSearch
For I = 1 To .FoundFiles.Count
If Mid(.FoundFiles(I), Len(.LookIn) + 2) <> "maj.txt" Then

ActiveSheet.Range("A65535").End(xlUp).Offset(1, 0) = _
Mid(.FoundFiles(I), Len(.LookIn) + 2)

End If
Next I
End With
End Sub

ton code va récupérer dans tous les cas l'ensemble des entrées du
répertoire concerné ?
comment je lui dis de rechercher dans le "répertoire courant" ?

est-ce que le code "+2" est due aux entrée "./" et "../" ?

en gros, la boucle inscrit dans les cellules tous les fichiers de la
"collection" (si c'est
bien comme celà que celà ce nomme) .FileSearch SAUF lorsque
l'on se trouve sur "maj.txt" ??

En fait, celà fonctionne très bien, je me modifierai
pour qu'il ne s'éxécute que si le fichier maj.txt existe dans le
repertoire


MERCI beaucoup !!!!
José

FFO a écrit :
Salut à toi

Quelque chose comme ceci :

With Application.FileSearch
.LookIn = "C:Chemindonnees"
.FileType = msoFileTypeAllFiles
.Execute
End With
With Application.FileSearch
For I = 1 To .FoundFiles.Count
If Mid(.FoundFiles(I), Len(.LookIn) + 2) <> "maj.txt" Then
ActiveSheet.Range("A65535").End(xlUp).Offset(1, 0) = Mid(.FoundFiles(I) ,
Len(.LookIn) + 2)
End If
Next I

Résultat dans la feuille active en colonne A

Celà devrait convenir
Dis moi !!!!


Alfred WALLACE
Le #18512441
Je me répond à moi-même (le preuve que je cherche ...)

j'ai fait çà : .LookIn = ActiveWorkbook.Path

çà à l'air de marcher !

Merci encore à FFO et michdenis

José



On 28 jan, 16:12, Alfred WALLACE
Salut à toi ,

j'ai ré-écris ton code :

Sub test()

With Application.FileSearch
.LookIn = "C:Chemindonnees"  <<--- comment lui dire "répertoire d ans
lequel est le fichier excel ?
.FileType = msoFileTypeAllFiles
.Execute
End With

With Application.FileSearch
For I = 1 To .FoundFiles.Count
If Mid(.FoundFiles(I), Len(.LookIn) + 2) <> "maj.txt" Then

ActiveSheet.Range("A65535").End(xlUp).Offset(1, 0) = _
Mid(.FoundFiles(I), Len(.LookIn) + 2)

End If
Next I
End With
End Sub

ton code va récupérer dans tous les cas l'ensemble des entrées du
répertoire concerné ?
comment je lui dis de rechercher dans le "répertoire courant" ?

est-ce que le code "+2" est due aux entrée "./"  et "../" ?

en gros, la boucle inscrit dans les cellules tous les fichiers de la
"collection" (si c'est
bien comme celà que celà ce nomme) .FileSearch  SAUF lorsque
l'on se trouve sur "maj.txt" ??

En fait, celà fonctionne très bien, je me modifierai
pour qu'il ne s'éxécute que si le fichier maj.txt existe dans le
repertoire

MERCI beaucoup !!!!
José

FFO a écrit :

> Salut à toi

> Quelque chose comme ceci :

>  With Application.FileSearch
> .LookIn = "C:Chemindonnees"
> .FileType = msoFileTypeAllFiles
> .Execute
> End With
> With Application.FileSearch
> For I = 1 To .FoundFiles.Count
> If Mid(.FoundFiles(I), Len(.LookIn) + 2) <> "maj.txt" Then
> ActiveSheet.Range("A65535").End(xlUp).Offset(1, 0) = Mid(.FoundFiles( I),
> Len(.LookIn) + 2)
> End If
> Next I

> Résultat dans la feuille active en colonne A

> Celà devrait convenir
> Dis moi !!!!


FFO
Le #18512431
Rebonjour à toi

.LookIn = "C:Chemindonnees" <<--- comment lui dire "répertoire dans
lequel est le fichier excel ?

Tu mets :

.LookIn = ThisWorkBook.Path

"ton code va récupérer dans tous les cas l'ensemble des entrées du
répertoire concerné ? "

Le code liste tous les fichiers du répertoire déterminé par .LookIn

"est-ce que le code "+2" est due aux entrée "./" et "../" ?"

Dans l'instruction :

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

Je cherche à récupérer le nom du fichier présent dans la partie .FoundFiles(I)
Pour celà de .FoundFiles(I) je n'extrais qu'à partir de Len(.LookIn) qui
représente le nombre de caractère du chemin du répertoire auquel je rajoute 2
pour démarrer l'extraction 2 caractères aprés (1° caractère "" et 2°
caractère la 1° lettre du nom du fichier)

"en gros, la boucle inscrit dans les cellules tous les fichiers de la
"collection" (si c'est
bien comme celà que celà ce nomme) .FileSearch SAUF lorsque
l'on se trouve sur "maj.txt" ?? "

Gagné !!!!

Je dirais plutôt tous les fichiers du répertoire déterminé par .LookIn

Espérant avoir répondu à tes interrogations
Publicité
Poster une réponse
Anonyme