Fichier PDF le plus récent dans un dossier

Bonjour,

Je souhaite faire une macro pour chercher le fichier PDF le plus récent dans un dossier et contenant une chaîne de caractère spécifique :

For Each oFic In moFSO.GetFolder(psRep).Files

If oFic.Type Like "*.pdf*" And oFic.Name Like "*ET*" Then...

Il me manque la notion "LastDateModified" pour choisir le fichier le plus récent parmi tous.

Et je ne sais pas comment faire...

Pour ensuite rechercher une expression dans le nom du fichier :

If oFic.Name Like "*v1*" Then

Range("B" & i).Value = "v1"

End If

Merci pour votre aide.

Bonjour,

voici un exemple à tester,

Sub ProprietesFichiers_LastSave()
    'Nécessite d'activer la référence Microsoft Shell Controls and Automation
    Dim objShell As Shell32.Shell
    Dim strFileName As Shell32.FolderItem
    Dim objFolder As Shell32.Folder
    Dim Resultat As String, Reponse As String
    Dim i As Byte
    Dim liste() As Double

    Set objShell = CreateObject("Shell.Application")
    'Répertoire cible
    Set objFolder = objShell.Namespace("C:\Users\isabelle\Documents\__isabelle\cp")

    'boucle sur tous les elements du repertoire
    For Each strFileName In objFolder.Items
     x = x + 1
        'Pour que les dosssiers ne soient pas pris en comptes
        If strFileName.isFolder = False Then
         If objFolder.getDetailsOf(strFileName, 0) Like "*v1*" Then
          ReDim Preserve liste(x)
          liste(x) = CDate(objFolder.getDetailsOf(strFileName, 3))
        End If
       End If
    Next
    Cells(1, 1) = Application.Max(liste)
End Sub

Bonjour,

Tout d'abord merci. Si je comprends tu récupères toutes les dates dans une liste et tu choisis la date la plus récente dans cette liste ?

Mais je souhaiterais sélectionner le fichier le plus récent pour copier-coller des infos comme son chemin et ensuite le renommer...

Range("D" & i).Value = psRep & "\" & oFic.Name

Pour renommer, j'étais parti sur :

Dim ancienNom As String

Dim nouveauNom As String

ancienNom = psRep & "\" & oFic.Name

nouveauNom = psRep & "\" & Cells(i, 1).Value & "_rev_" & Cells(i, 2).Value & ".pdf"

Name ancienNom As nouveauNom

Mais cela ne fonctionne pas, et si jamais le nom du fichier existe déjà, j'obtiens une erreur...

Je souhaiterais également aller visiter les fichiers des sous-répertoires éventuels ? Il y a une fonction subfolder ?

Merci.

Rechercher des sujets similaires à "fichier pdf recent dossier"