IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Recherche d'un fichier récent


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Recherche d'un fichier récent
    Bonjour a tous,

    Une petite question qui se résoudra par vba je pense. J'ai plusieurs fichiers dans un meme répertoire et dont le nom est de la forme fichier_date_excel.xls.
    En fonction d'une date que j'indiquerai dans une cellule, comment faire pour ouvrir le fichier qui se trouve dans ce répertoire et dont la date présente dans le titre est la plus proche de la date indiquée...Je sais ce n'est pas tres clair. Mais avez vous des idées ?

    Merci pour vos réponses

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Salut,

    Voilà le code que je donne à tout ceux qui veulent une recherche de fichiers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub recherche()
        With Application.FileSearch
            .NewSearch
            .RefreshScopes
            .LookIn = "C:\" 'Ton répertoire
            .Filename = "*.DBF"
            .SearchSubFolders = True 'Cherche dans les sous-répertoires !
            .Execute
            For Ctr = 1 To .FoundFiles.Count
                'Tu fais ce que tu veux 
            Next
        End With
    End Sub
    Ensuite, on fait F1 sur "FileSearch" et on se rend compte qu'il faut juste ajouter une ligne X peut être :

    msoLastModifiedAnyTime
    msoLastModifiedLastMonth
    msoLastModifiedLastWeek
    msoLastModifiedThisMonth
    msoLastModifiedThisWeek
    msoLastModifiedToday
    msoLastModifiedYesterday

    Je suis sûr que tu vas trouver ton bonheur dans tout ça

    EDIT : et mince, j'ai mal lu ton post...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Merci beaucoup pour ta réponse.

    Effectivement avec cela j'y suis presque mais comme le dossier est rempli de dizaines de fichiers excel, qui peuvent n'avoir rien a voir et que je ne peux deplacer, serait-il possible d'ajouter un filtre du type; on ne recherche que les fichiers dont le titre commence par la chaine de caractere CQuote.

    Merci de m'aider.

  4. #4
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Bonjour,
    Je m'incruste dans la discution en espérant tricoté avec dead

    Sans avoir testé mais j'ai confiance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .Filename = "Debutdechaine*.DBF"

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Je vais essayer tout cela. Merci encore et je continue ma lecture de VBA excel pour les nuls...

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour tous,
    la fonction FileSearch n'étant plus supportée par excel 2007 à moins d'un Add in, je préfère FileSystemObject
    C'est exemple recherche un classeur qui à l'extention "xls" et qui contient la parte "mot"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'En tête du module (pas oublier si ont veux que la recherche soit faite sans distinction de la case)
    Option Compare Text
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub LireRepertoir3()
    'lire les fichiers d'un répertoir avec un filtre
    Dim fs, F, f1, S, sf
    Dim Ext As String, Chemin As String, Mot As String
        Chemin = "E:\" 'adapter au répertoir où sont situés les fichiers.
        Ext = "xls"
        Mot = "UnePartieDuNom"
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set F = fs.GetFolder(Chemin)
        Set sf = F.Files
        For Each f1 In sf
            If Right(f1.Name, 3) = Ext And f1.Name Like "*" & Mot & "*" Then 'pour être certain que c'est un bon fichier
                'ici le fichier contient la partie du Mot et l'extention xls.
                'et en faire ce que l'ont veux
            Stop
            End If
        Next
    End Sub
    Note: si on veux exclure la partie "mot" faire l'inverse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
           If Right(f1.Name, 3) = Ext And not(f1.Name Like "*" & Mot & "*") Then
    A+
    Si j'en crois ton titre..Fichiers récents, si c'est dans les dernier fichiers ouvert tu peu les rechercher autrement...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub FichierRecent()
    Dim i As Integer
        Sheets("Feuil3").Range("I4:I20").ClearContents
        For i = 1 To Application.RecentFiles.Count
        Sheets("Feuil3").Cells(3 + i, 9) = Application.RecentFiles(i).Name
        Next i
    End Sub

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Ben moi je préfère Dir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub Test()
    Dim Tempo As String, PartieDuNom As String, NomFich As String, Rep As String, LaDate As String
        'En supposant que la date ait ce format Là
        LaDate = "01-01-2009"
        Rep = "D:\MesDoc\" 'Ton répertoire
        PartieDuNom = "CQuote" 'Début du nom du fichier
        NomFich = Dir(Rep & PartieDuNom & "*")
        Do While NomFich <> ""
            'Pour récupérer la date on retire CQuote et .xls
            Tempo = Mid(NomFich, 7, Len(NomFich) - 6 - 4)
            If IsDate(Tempo) Then
                If CDate(Tempo) > CDate(LaDate) Then LaDate = Tempo
            End If
            NomFich = Dir()
        Loop
        NomFich = "CQuote" & LaDate & ".xls"
        Workbooks.Open Rep & NomFich
    End Sub
    Ce code donnera le dernier fichier enregistré avec sa date d'enregistrement dans le format indiqué

Discussions similaires

  1. [LG]Runtime Error lors d'une recherche dans un fichier
    Par Fraynor dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2005, 22h51
  2. Rechercher dans un fichier avec emacs
    Par ggnore dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 24/11/2004, 10h28
  3. recherche dans un fichier xml (castor)
    Par pingoui dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 06/09/2004, 14h28
  4. [MFC] Ajout des fichiers récents dans un menu
    Par Choupinou dans le forum MFC
    Réponses: 3
    Dernier message: 20/08/2004, 16h47
  5. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo