Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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"

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

job75

XLDnaute Barbatruc
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
 

patricktoulon

XLDnaute Barbatruc
re
pas testé mais ca doit etre cela
et change moi le dossier c'est pas bon
VB:
Sub Renommer_Patrick()
    Dim chemin$, fichiers, thedate
    '*************************************
    ' heu kézako ca !!!
    'chemin = ThisWorkbook.Path & "C:\Users\lionel\Desktop\Prospects CaCh envoyes en attente2\" ' !!!!!!!!!!!!!!!   'dossier à adapter
    '*************************************
    fichiers = Dir(chemin & "*.xls*")
    Do While fichiers <> ""
        If fichiers.Name <> ThisWorkbook.Name And fichiers.Name Like "*xls*" Then Workbooks(fichier.Name).Close False    'si le fichier est ouvert on le ferme
        thedate = Format(FileDateTime(chemin & fichiers), "yyyy mm dd ")
        Name chemin & fichiers As chemin & thedate & "-" & fichiers
        fichiers = Dir
    Loop
End Sub
 

patricktoulon

XLDnaute Barbatruc
re
OK testé
ca fonctionne comme ca

VB:
Sub Renommer_Patrick()
    Dim chemin$, fichiers, thedate
    '*************************************
    ' heu kézako ca !!!
    chemin = "C:\Users\polux\DeskTop\testarthour\"    ' !!!!!!!!!!!!!!!   'dossier à adapter"
    '*************************************
    fichiers = Dir(chemin & "*.xls*")
    Do While fichiers <> ""
        If ThisWorkbook.Name <> fichiers Then
            thedate = Format(FileDateTime(chemin & fichiers), "yyyy mm dd ")
            Name chemin & fichiers As chemin & thedate & "-" & fichiers
            fichiers = Dir
        End If
    Loop
End Sub
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
vire cette ligne j'ai copier betement le code de job 75
lenom du fichier actif ne peux pas être modifié donc il faut l'exclure
donc prendre le #21
et comme je l'ai dis tout a l'heure
si tu es amené a modifier une autres fois les fichiers éventuellement ajouté après la dernière modif celle ci ne modifie que ce qui n'ont pas de date devant

VB:
Sub Renommer_Patrick()
    Dim chemin$, fichiers, thedate
    '*************************************
     chemin = "C:\Users\polux\DeskTop\testarthour\"    ' !!!!!!!!!!!!!!!   '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
pour le coup là tu es en sécurité de tes propres gaffes
 

patricktoulon

XLDnaute Barbatruc
re
oui enlève le msgbox
si ça renomme pas c'est qu'il y a déjà une chaîne de 10 caractères étant une date devant
pourquoi avec toi tout est de suite plus compliqué ???,

comme tu peux le voir dans cette demo ci dessous les fichiers qui ont deja une date ne seront pas modifiés


salut Laurent
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…