Sub Copie_répertoire()
Dim Fso As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder
Dim FileItem As Scripting.File
Dim RepSource as string, RepDest as string
Dim i As Long
RepSource= "C:\Source" 'à adapter
RepDest = "C:\Destination\" 'à adapter
Set Fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = Fso.GetFolder(Source)
Application.ScreenUpdating = False
i = 0
For Each FileItem In SourceFolder.Files
if Right$(FileItem, 4) = ".txt" then FileCopy FileItem, RepDest & "NouveauNom" & i & ".txt" ' à adapter
i=i+1
Next FileItem
end sub