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 :

Trouver le dernier fichier txt créé dans un dossier en fonction du nom [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2013
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 226
    Points : 134
    Points
    134
    Par défaut Trouver le dernier fichier txt créé dans un dossier en fonction du nom
    Bonsoir amis programmeur du soir


    Comme le titre l'indique je souhaite obtenir le dernier fichier crée dans un répertoire dont le nom correspond à ma demande. En effet, toute les semaines un txt est déposé sur le serveur. Mais bien sur je souhaite récupérer le dernier en date (il y à un par semaine en gros).

    C'est la que le bas blesse, je sais chercher avec le nom du fichier, mais j'arrive pas pour la condition du dernière en date.

    Voici le code. Qui peut être amélioré lol

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     
    Dim fs, f, s
     
    Sub test_dernier_fichier_nom_correct()
        Dim chemin As String, Fichier As String
        Dim nomF As String, ok As Boolean
        Dim wb As Workbook
        Dim D As Variant
     
        Set wb = ThisWorkbook
        chemin = "C:\Users\remy\Desktop\"    ' adapter
        nomF = LCase(Replace("Journee_A_Cloturer", " ", ""))
        Fichier = Dir(chemin & "*.txt*")    ' 1er fichier
       Do While (Len(Fichier) > 0)
            If Fichier <> nomF Then
                If InStr(LCase(Replace(Fichier, " ", "")), nomF) Then
                     Call ShowFileInfo("C:\Users\remy\Desktop\" & Fichier)
                                        'test si c'est bien le dernier fichier modifié 
                            If MsgBox("Ouvrir " & Fichier, vbYesNo + vbQuestion, "Nom correct ?") = vbYes Then
                                ok = True
                                Exit Do
                            End If
                End If
            End If
            Fichier = Dir()    ' fichier suivant
       Loop
        If ok Then
            MsgBox "Fichier trouvé"
            'code
        Else
            MsgBox "Fichier non trouvé"
        End If
    End Sub
     
    'un essaie avec la date création
    Sub ShowFileInfo(filespec)
        'Dim fs, f, s
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set f = fs.GetFile(filespec)
        s = f.DateCreated
    End Sub
    Voili voilou j'espére avoir été clair

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, si pas déjà fait, voir : Lister les fichiers d'un répertoire par ordre décroissant de date de création et à adapter à ton contexte

  3. #3
    Membre habitué
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2013
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 226
    Points : 134
    Points
    134
    Par défaut
    Merci kiki29, mais j'ai énormément de fichier dans ce folder. Du coup l'idée que j'avais c'est de les lister et aprés selectionner celui que je souhaite.

    Mais le code Lister les fichiers d'un répertoire par ordre décroissant de date de création prend tous les fichiers même dans les sous dossiers.

    Du coup ça rame vu que j'ai plus de 1000 txt.

    Si tu as une idée pour limiter la recherche au fichiers présent à la racine et non pas dans les sous-dossiers.

    Merki

  4. #4
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, curieux car de base ce code n'est pas récursif

  5. #5
    Membre habitué
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2013
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 226
    Points : 134
    Points
    134
    Par défaut
    Excuse c'est moi qui raconte une connerie ahhah. Il reste à la racine

    Sinon limiter la recherhce à l'année en cours en parce que ça va chercher des fichiers de 2008.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/08/2012, 13h20
  2. [XL-2003] Lister le dernier fichier excel sauvegarde dans un dossier
    Par jeo13 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/04/2011, 21h03
  3. [Toutes versions] Déplacer fichier dans un dossier en fonction du nom
    Par asengs dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 08/03/2011, 16h50
  4. extraire donné fichier txt afficher dans xml
    Par jasminrose dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 01/04/2007, 12h14
  5. Réponses: 2
    Dernier message: 16/12/2006, 12h34

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