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

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

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
 

Kouik Kouik jr

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

La case reference est grisée ...je ne peux pas cliquer dessus

Comment puis je la rendre utilisable ?

Je cherche sur internet depuis un moment mais j'ai pas de reponse concrète pour le moment..
 

Cousinhub

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

Re-,

tu fais Démarrer/Exécuter, et tu colles cette ligne de commande :

Code:
regsvr32 SCRRUN.DLL

Normalement, tu auras un Msgbox te disant que l'installation s'est bien déroulée....
 

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éé

Merci pour votre aide ...

Je peux pas vérifier tout de suite si cela marche

je reviens demain pour vous dire si mon code marche enfin (s'il tourne tout du moins) .

bonne soirée
 

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
 

Cousinhub

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

Bonjour,

tu as bien défini le répertoire :

Code:
Const myDir As String = "C:\Documents and Settings\JCGL\Mes documents\Telechargement Tips"

Pas sûr que tu aies un dossier nommé JCGL?
 

Kouik Kouik jr

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

J'ai entre temps définis

HTML:
Dim myFolder As Folder

mais cela bloque encore sur
HTML:
Set myFolder = FileSys.GetFolder(myDir)

Ca doit être le GetFolder qui doit poser problème je pense
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…