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

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Arthour, Laurent,
Un essai en PJ.
N'étant pas complètement stupide, je ne renomme pas les fichiers.
Je les duplique et renomme la copie.
Donc à la fin dans le dossier vous avez les anciens et nouveaux fichiers.
Vous triez par date vous vérifiez que tout est ok, et si oui vous supprimez les anciens.

Attention ! Si un de vos fichiers contient un accent spécial, du genre de l'image ci dessous, il ne sera pas dupliqué.
En effet lu par XL, le "g bizarre" de ce nom est transformé en "g" et la copie n'est plus possible puisque les deux noms sont différents.
Donc bien vérifié dans la liste de droite que tous les fichiers seront renommés, sinon ne pas détruire ce fichier et le renommer à la main.

1.jpg
 

Pièces jointes

  • RenommeFichiersDansDossier.xlsm
    29.3 KB · Affichages: 12
Dernière édition:

laurent950

XLDnaute Accro
Bonjour lionel,
Je vais t'aider :
Cette procédure liste les methadones fichier excel par vba.

Comment récupérer des propriétés avec BuiltinDocumentProperties

VB:
Option Explicit
Sub tst()
Dim DocProp As DocumentProperty
Dim i As Integer
    On Error Resume Next
    For Each DocProp In ThisWorkbook.BuiltinDocumentProperties
        i = i + 1
        ThisWorkbook.Worksheets(1).Cells(i, 1) = DocProp.Name
        ThisWorkbook.Worksheets(1).Cells(i, 2) = DocProp.Value
    Next DocProp
End Sub

puis les modifier à l'aide de la liste récupérer dans la feuille Excel.

VB:
' Donc
Sub testBis()
'Modifie les commentaires (Exemple ci-dessous)
    ThisWorkbook.BuiltinDocumentProperties("Last save time").Value = "01/05/2020  12:00:16"
End Sub

Complément sur gestion Fichier et dossier


http://www.info-3000.com/vbvba/fichiers/index.php

cdt

cdt
Laurent950
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Lionel, laurent950, sylvanu,

Pour renommer les fichiers on peut utiliser cette macro :
VB:
Sub Renommer()
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 "*xl*" Then
        Workbooks(f.Name).Close False 'si le fichier est ouvert on le ferme
        fn = chemin & f.Name
        p = InStrRev(fn, "\")
        Name fn As Left(fn, p) & Format(f.DateCreated, "yyyy mm dd ") & Mid(fn, p + 1)
    End If
Next
End Sub
A+
 

laurent950

XLDnaute Accro
Bonjour Lionel,
Je comprend pas vraiment, vous avez évoqué dans votre énoncé une modification de date de création de fichier, avec une image à l'appuis.
Ci vous avez envie de renommer des fichiers excel c'est bien différents !

Cdt
 

patricktoulon

XLDnaute Barbatruc
re
bonjour
une question comme ça en passant
ces fichiers sont ils mis ajours ou modifier plusieurs fois????

pour les property built il n'y a rien a faire le last save time" se fait tout seul
tu peux faire quelque chose de perso avec les customproperty aussi

si cela doit se voir dans le nom du fichier et que la réponse a ma question est "oui"
là c'est une autre paire de manches il te faudrait mettre un séparateur suffisamment distinct pour pouvoir supprimer l'ancienne date de modif dans le nom

juste comme ca en passant ;)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Gérard,
J'ai tenté comme ça mais rien ne se passe :
VB:
Sub Renommer_gérard()
Dim chemin$, fso As Object, f As Object, fn$, p%
chemin = ThisWorkbook.Path & "C:\Users\lionel\Desktop\Prospects CaCh envoyes en attente2\" '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 "*xls*" Then
        Workbooks(f.Name).Close False 'si le fichier est ouvert on le ferme
        fn = chemin & f.Name
        p = InStrRev(fn, "\")
        Name fn As Left(fn, p) & Format(f.DateCreated, "yyyy mm dd ") & Mid(fn, p + 1)
    End If
Next
End Sub

J'ai pas du mettre le chemin la où il faut :)
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof