Microsoft 365 ajouter date de MODIFICATION devant le nom du fichier

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite une belle journée :)
Peut-être pas possible ??
J'ai besoin d'ajouter la date de modification devant le nom d'environ 150 fichiers pour les classer par dates.
Par exemple nom actuel : "Partenariat isiTel5" résultat souhaité : "2019 07 17 Partenariat isiTel5"
Sans titre.jpg
Ces 150 fichiers sont dans le même dossier.

Je ne sais "fichtrement" pas faire ça et je n'ai pas trouvé sur le net !
Auriez-vous la solution ?
Avec mes remerciements,
Amicalement,
lionel,
 
Dernière édition:
Solution
Si l'on veut revenir en arrière en supprimant la date de création du fichier utiliser cette macro :
VB:
Sub RAZ()
Dim chemin$, fso As Object, f As Object
chemin = ThisWorkbook.Path & "\" 'dossier à adapter
Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next 'si un fichier est ouvert
For Each f In fso.GetFolder(chemin).Files
    If f.Name <> ThisWorkbook.Name And f.Name Like "*xl*" Then
        Workbooks(f.Name).Close False 'si le fichier est ouvert on le ferme
        Name chemin & f.Name As chemin & Replace(f.Name, Format(f.DateCreated, "yyyy mm dd "), "")
    End If
Next
End Sub

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
LOL et ça marche :
VB:
Sub Renommer_gérard()
Dim chemin$, fso As Object, f As Object, fn$, p%
chemin = ThisWorkbook.Path & "\" 'dossier à adapter

Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next 'si un fichier est ouvert
For Each f In fso.GetFolder(chemin).Files
    If f.Name <> ThisWorkbook.Name And f.Name Like "*.*" Then
        Workbooks(f.Name).Close False 'si le fichier est ouvert on le ferme
        fn = chemin & f.Name
        p = InStrRev(fn, "\")
        'If f.DateCreated = f.DateLastModified Then
        'Name fn As Left(fn, p) & Format(f.DateCreated, "yyyy mm dd ") & Mid(fn, p + 1)
        'Else
        Name fn As Left(fn, p) & Format(f.DateLastModified, "yyyy mm dd ") & Mid(fn, p + 1)
        'End If
    End If
Next
End Sub
:)
 
Dernière édition:

job75

XLDnaute Barbatruc
Si le fichier est renommé avec f.DateLastModified il vaut mieux ce code pour la macro RAZ :
VB:
Sub RAZ()
Dim chemin$, fso As Object, f As Object, fn$
chemin = ThisWorkbook.Path & "\" 'dossier à adapter
Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next 'si un fichier est ouvert
For Each f In fso.GetFolder(chemin).Files
    If f.Name <> ThisWorkbook.Name And f.Name Like "#### ## ## *.xl*" Then
        Workbooks(f.Name).Close False 'si le fichier est ouvert on le ferme
        fn = f.Name
        While fn Like "#### ## ## *": fn = Mid(fn, 12): Wend
        Name chemin & f.Name As chemin & fn
    End If
Next
End Sub
 

patricktoulon

XLDnaute Barbatruc
re
Lionel si tu défini pas le chemin pour "DIR" ça risque pas de fonctionner bien évidemment
c'est comme pour le menu tu recopie sans réfléchir a adapter
bref tu préfère scriptingfilesystemobject pas de souci je passe a autre chose
j'insisterais plus avec toi ;)
bon courage
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Patrick,

Comme te faire comprendre que ce n'est pas une question de préférence ou pas ?
C'es tout simplement que je ne sais pas adapter ton code pour y insérer mon chemin de fichier : C:\Users\lionel\Desktop\Prospects CaCh envoyes en attente1\

VB:
Sub Renommer_Patrick()
    Dim chemin$, fichiers, thedate
    chemin = ThisWorkbook.Path & "\" 'dossier à adapter
    fichiers = Dir(chemin & "*.*")
    Do While fichiers <> ""
        'MsgBox IsDate(Left(fichiers, 10))
        If ThisWorkbook.Name <> Fichier Then
            If Not IsDate(Left(fichiers, 10)) Then
                thedate = Format(FileDateTime(chemin & fichiers), "yyyy mm dd ")
                Name chemin & fichiers As chemin & thedate & "-" & fichiers
            End If
        End If
        fichiers = Dir
    Loop
End Sub
Merci quand même Patrick :)
Bonne fin de journée
lionel,
 

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 433
Membres
103 207
dernier inscrit
Michel67