Renommer des fichier

MaNoFre -  
 MaNoFre -
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

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
    1. MaNoFre
       
      Bonjour Jordane, je ne comprends pas vraiment ce que tu dis
      0