Bonjour toutes et tous bon week end
à tester
Note : Supprime l'extension .jpg dans la colonne D (sub extension appel de la procédure par call)
EDIT : j'pense qu'il existe pour supprimer tout types d'extensions (.jpeg,.png etc.)
Option Explicit
Sub select_repertoire()
Dim MonRepertoire As String
Dim Repertoire As FileDialog
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Show
If Repertoire.SelectedItems.Count > 0 Then
MonRepertoire = Repertoire.SelectedItems(1)
End If
ListeFichiers MonRepertoire
MsgBox "Fin de la recherche ..."
End Sub
Sub ListeFichiers(Repertoire As String)
Dim Fso, SourceFolder, SubFolder, fichier As Object
Dim k As Integer
If Repertoire = "" Then
MsgBox " Choisissez le répertoire !"
Exit Sub
End If
Set Fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = Fso.GetFolder(Repertoire)
' boucle sur tous les fichiers du répertoire
For Each fichier In SourceFolder.Files
k = Range("A65534").End(xlUp).Row + 1
Range("A" & k).Select
ActiveCell.Value = Repertoire & "\" & fichier.Name
ActiveCell.Offset(0, 1).Value = Repertoire
ActiveCell.Offset(0, 2).Value = fichier.Name
ActiveCell.Offset(0, 3).Value = FileLen(Repertoire & "\" & fichier.Name)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(k, 1), Address:=Repertoire & "\" & fichier.Name
Next fichier
' appel récursif pour les sous-répertoires
For Each SubFolder In SourceFolder.subfolders
ListeFichiers SubFolder.Path
Next SubFolder
Call extension
End Sub
Sub extension()
Columns("C:C").Select
Selection.Replace What:=".JPG", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
cdrlt,
André