liste des fichiers SI un fichier est présent dans un repertoire
5 réponses
Alfred WALLACE
Bonjour =E0 tous les gurus et bonne ann=E9e 2009 !!
j'aimerai r=E9cup=E9rer 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=E9cuperer la liste comme pr=E9c=E9dement.
Pourriez vous m'=E9clairer sur la m=E9thode =E0 suivre ou un chtit
exemple ?
if dir(chemin & fichier) <>"" then
Kill chemin & fichier
end if
la suppression sera définitive... et non dans la poubelle.
"Alfred WALLACE" <jose6a@gmail.com> a écrit dans le message de groupe de discussion :
4a6f6976-5730-4047-82d2-340bfc26f841@b38g2000prf.googlegroups.com...
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 ?
if dir(chemin & fichier) <>"" then Kill chemin & fichier end if
la suppression sera définitive... et non dans la poubelle.
"Alfred WALLACE" a écrit dans le message de groupe de discussion :
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
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 !!!!
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
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
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
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 !!!!
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
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
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
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
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 wrote:
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
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 !!!!
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 <jos...@gmail.com> wrote:
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
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
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 wrote:
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
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
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
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
.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