Extraire seulement le nom + l'extension dun répertoire
Le
fetnat
Bonjour,
La macro suivante permet d'obtenir le chemin et le nom de fichier en
précisant le type d'extension.
1 - Comment faire pour obtenir seulement le nom des fichiers + l'extension ?
2 - Et si c'est possible, comment faire pour obtenir seulement le nom ?
Ce deuxième point est moins crucial car j'ai une boucle pour supprimer
l'extension. Ce n'est pas élégant mais ça fonctionne.
Merci pour votre aide
Cordialement
Fetnat
Sub AllFilesByType()
' list all files in specified dir (fullpath with extension)
Dim fs, i As Integer, x As Integer
Set fs = Application.FileSearch
With Sheets("Contents")
.Cells.Clear
End With
With fs
.LookIn = "C:\Windows"
.Filename = "*.txt"
.Execute
For i = 1 To .FoundFiles.Count
x = x + 1
Range("A" & x) = .FoundFiles(i)
Next i
If .FoundFiles.Count = 0 Then
MsgBox "No files founded."
End If
End With
End Sub
La macro suivante permet d'obtenir le chemin et le nom de fichier en
précisant le type d'extension.
1 - Comment faire pour obtenir seulement le nom des fichiers + l'extension ?
2 - Et si c'est possible, comment faire pour obtenir seulement le nom ?
Ce deuxième point est moins crucial car j'ai une boucle pour supprimer
l'extension. Ce n'est pas élégant mais ça fonctionne.
Merci pour votre aide
Cordialement
Fetnat
Sub AllFilesByType()
' list all files in specified dir (fullpath with extension)
Dim fs, i As Integer, x As Integer
Set fs = Application.FileSearch
With Sheets("Contents")
.Cells.Clear
End With
With fs
.LookIn = "C:\Windows"
.Filename = "*.txt"
.Execute
For i = 1 To .FoundFiles.Count
x = x + 1
Range("A" & x) = .FoundFiles(i)
Next i
If .FoundFiles.Count = 0 Then
MsgBox "No files founded."
End If
End With
End Sub

Poser une question


Sub Fichiers()
Set fs = Application.FileSearch
With fs
.LookIn = "d:photos" 'Répertoire de ton choix
.Filename = "*.jpg" 'extension de ton choix
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
MsgBox .FoundFiles.Count & _
" fichier(s) trouvé(s)."
For i = 1 To .FoundFiles.Count
'MsgBox .FoundFiles(i)
Cells(1 + x, 10) = .FoundFiles(i)
x = x + 1
Next i
Else
MsgBox "Aucun fichier n'a été trouvé."
End If
End With
End Sub
--
Cordialement
"fetnat" news:
Quelle rapidité !
En ajoutant : Range("A" & x) = .FoundFiles(i), j'obtiens le chemin +
fichier + extension.
Je n'arrive pas à manipuler fs.foundfiles.name ou quel chose...
Comment obtenir seulement fichier + extension ? Voire seulement fichier ?
Merci pour votre aide
Fetnat
JPMonnier a écrit :
Sub Fichiers()
Repertoire = "d:images" 'a adapter
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDossier = objFSO.GetFolder(Repertoire)
If (objDossier.Files.Count > 0) Then
For Each objFichier In objDossier.Files
If (InStr(1, objFichier.Name, ".jpg", 1) > 0) Then '".jpg" à adapter
Cells(1 + x, 10) = objFichier.Name
x = x + 1
End If
Next
End If
End Sub
--
Cordialement
"fetnat" news:OG%
Cordialement
Fetnat
JPMonnier a écrit :
C'est aussi une merveille pour une perfection rêvée avec la petite
variante qui supprime l'extension...
Cordialement
Fetnat
Corto a écrit :