Vba recherche du dernier fichier créé

Kouik Kouik jr

XLDnaute Occasionnel
Bonsoir le forum,

J'ai besoin de votre aide....j'y arrive vraiment pas :confused:

J'essaie de rechercher dans un dossier le dernier fichier créé

J'ai un code mais qui ne marche que pour le dernier fichier modifié (et même il n'est pas si correct que cela)

Merci d'avance pour toute aide et informations

HTML:
Sub essai1()
 
 Findes
 End Sub
 
 Function Findes()
    Dim blah As FileSearch
    Dim directory As String
    Dim i As Integer, iNewest As Integer
     
    directory = "V:\3B OP\RCHF\VBA Reconcil\Reconciliation ptf\Prix HSBC"
    Set blah = Application.FileSearch
    With Application.FileSearch
        .NewSearch
        .Filename = "*.*"
        .LookIn = directory
        .LastModified = msoLastModifiedAnyTime
        .Execute msoSortByLastModified, msoSortOrderDescending
    End With
    If blah.FoundFiles.Count > 0 Then MsgBox blah.FoundFiles(1)
End Function
 

Kouik Kouik jr

XLDnaute Occasionnel
Re : Vba recherche du dernier fichier créé

En fait , le code ci dessous ne m'indique pas le bon fichier .

Il recherche le dernier fichier modifié mais c'est pas ce que je voudrais

J'ai essayé avec
HTML:
.Execute msoSortByLastCreated, msoSortOrderDescending

Mais cela n'a pas l'air d'être reconnu :(
 

Kouik Kouik jr

XLDnaute Occasionnel
Re : Vba recherche du dernier fichier créé

j'essaie également avec ce code que j'ai modifié mais il bloque a la ligne de définition

HTML:
Dim FileSys As FileSystemObject
    Dim objFile As File

Je vois pas pourquoi ? Quelqu'un a t'il une idée ?

Merci d'avance

Voici le code qui a l'air plus correct afin de chercher le dernier fichier crée dans un repertoire
HTML:
Sub GetMostRecentFile()
    
    Dim FileSys As FileSystemObject
    Dim objFile As File
    Dim myFolder
    Dim strFilename As String
    Dim dteFile As Date
        
    'set path for files - change for your folder
    Const myDir As String = "V:\3B OP\RC\VBA Reconcil\Reconciliation ptf\Prix HSBC"
    
    'set up filesys objects
    Set FileSys = New FileSystemObject
    Set myFolder = FileSys.GetFolder(myDir)
        
    
    'loop through each file and get date last modified. If largest date then store Filename
    dteFile = DateSerial(1900, 1, 1)
    For Each objFile In myFolder.Files
        If objFile.DateLastModified > dteFile Then
            dteFile = objFile.DateLastModified
            strFilename = objFile.Name
        End If
    Next objFile
    Workbooks.Open strFilename
            
    Set FileSys = Nothing
    Set myFolder = Nothing
    
End Sub
 

JCGL

XLDnaute Barbatruc
Re : Vba recherche du dernier fichier créé

Bonjour à tous,
Salut BH² :):),

Une erreur aussi avec le dernier déposé par notre ami, bien que la référence soit montée et que le fichier existe bel et bien et que le chemin soit bien défini :

Code:
Option Explicit

Sub GetMostRecentFile()
    
    Dim FileSys As FileSystemObject
    Dim objFile As File
    Dim myFolder
    Dim strFilename As String
    Dim dteFile As Date
        
    'set path for files - change for your folder
    Const myDir As String = "C:\Documents and Settings\JCGL\Mes documents\Telechargement Tips"
    
    'set up filesys objects
    Set FileSys = New FileSystemObject
    Set myFolder = FileSys.GetFolder(myDir)
        
    
    'loop through each file and get date last modified. If largest date then store Filename
    dteFile = DateSerial(1900, 1, 1)
    For Each objFile In myFolder.Files
        If objFile.DateLastModified > dteFile Then
            dteFile = objFile.DateLastModified
            strFilename = objFile.Name
        End If
    Next objFile
    Workbooks.Open strFilename
            
    Set FileSys = Nothing
    Set myFolder = Nothing
    
End Sub






Une erreur sur cette ligne, évidement, :
Code:
 Workbooks.Open strFilename
A++ :):)
A+ à tous
 

Kouik Kouik jr

XLDnaute Occasionnel
Re : Vba recherche du dernier fichier créé

Je reviens vers vous, amis informaticiens ;)

C'est tout bon j'ai coché la case "Microsoft Scripting Runtime"

Mais ( et il y'a un mais) quand je lance le code tout se passe bien jusqu'a la ligne
HTML:
 Set myFolder = FileSys.GetFolder(myDir)

le debug me met "object variable or With block variable not set"

Y me semble avoir tout définis correctement !

Je trouve pas plus d'info dans l'aide
 

Statistiques des forums

Discussions
312 747
Messages
2 091 605
Membres
105 007
dernier inscrit
adla