Renommer des fichier

Fermé
MaNoFre - 16 oct. 2018 à 17:19
 MaNoFre - 16 oct. 2018 à 18:07
Bonjour à tous.
Je souhaiterais renommer certains fichiers avec une macro (VBA).
Tous ont le même suffixe (engagementj) et je souhaiterais les renommer de la sorte : engagementj_J-XX.
XX est le numéro du fichier selon la date de modification.
Pourriez-vous m'aider?

Merci d'avance
A voir également:

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
16 oct. 2018 à 17:36
0
Bonjour et merci pour ta réponse mais je suis vraiment perdue... Est ce que vous avez déjà écrit une macro sur le sujet?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
16 oct. 2018 à 17:41
Bonjour,

Tu peux déjà commencer par s'inspirer de ce code
https://www.extendoffice.com/documents/excel/2339-excel-rename-files-in-a-folder.html

Bien entendu, au lieu d'aller chercher les noms de fichiers dans une colonne d'excel il faut modifier le code pour correspondre à tes besoins.

ça pourrait ressembler à un truc du genre
<code basic>
Sub RenameFiles()
  Dim xDir As String
  Dim xFile As String
  Dim xRow As Long
  Dim nouveauNonFichier as String

    xDir = "c:\chemin\vers\les\fichiers"
    xFile = Dir(xDir & Application.PathSeparator & "*")
    Do Until xFile = ""
          nouveauNonFichier = "jetelaissechercher" 'Ici tu dois mettre le nouveau nom du fichier
          Name xDir & Application.PathSeparator & xFile As  xDir & Application.PathSeparator & nouveauNonFichier
         xFile = Dir
    Loop
End Sub

</code>

Pour trouver la date de modification d'un fichier par exemple tu peux utiliser le FSO
Function FileLastModified(strFullFileName As String)
    Dim fs As Object, f As Object, s As String
     
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(strFullFileName)
     
    s = UCase(strFullFileName) & vbCrLf
    s = s & "Last Modified: " & f.DateLastModified
    FileLastModified = s
     
    Set fs = Nothing: Set f = Nothing
     
End Function


Je te laisse compléter....
reviens nous voir avec ton code si jamais tu ne rencontres des soucis.
0
Bonjour Jordane, je ne comprends pas vraiment ce que tu dis
0