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 :

[VBA-E]ouvrir un fichier dont le nom est determiné par sa date de création


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut [VBA-E]ouvrir un fichier dont le nom est determiné par sa date de création
    Bonjour,

    je cherche à créer une macro qui doit ouvrir un fichier .txt afin de récupérer des données journalières qui viennent remplir mon fichier;

    Mon problème réside dans savoir comment faire trouver à excel le fichier du jour dans le dossier consacré.
    Le nom du fichier est"P1_annéemoisjour"

    Voilà où j'en suis de mon code


    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
        ChDir "Y:\FTSE\End_of_Day\Position_Files"
        Workbooks.OpenText Filename:= _
            "Y:\FTSE\End_of_Day\Position_Files\P1_*.txt", Origin:= _
            xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
            Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
            TrailingMinusNumbers:=True
        Range("B3:D3").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Windows("EOD_Template_FTSE.xls").Activate
        Range("A5").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Selection.Sort Key1:=Range("A5"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
        Windows("P1_20070416_16_48_04.txt").Activate
        ActiveWindow.Close
     
    End Sub

    Merci d'avance

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    Bonjour,
    Bienvenu sur le forum

    pour ton pb si tu connais la date du fichier ou tu l'a qq part ca donnerais ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Workbooks.OpenText Filename:= _
    "Y:\FTSE\End_of_Day\Position_Files\P1_" & variable_date & ".txt", Origin:= _
    xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
    xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
    Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
    TrailingMinusNumbers:=True
    à condition bien sur que ta
    variable date soit du bon format ce que tu dois pouvoir réaliser en regardant la (enfin je pense)
    rémi

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Ce lien permet de changer les formats de date dans une feuille excel, mais pas dans le nom du fichier hélas.

    Une solution serait peut être de trier les fichiers par leur nom et compte tenu du format de date, il faudrait que je prenne le plus"grand" pour avoir le dernier fichier (P1_20070417 est plus grand que P1_20070416) mais je ne sais pas comment y parvenir...

    Merci encore

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    Bon avec les fonctions qu'il te donne tu dois pouvoir faire qqchose
    le programme que tu fais est bien un prog sous Excel??
    en fait pour cibler ce que tu veux tu veux ouvrir le fichier de date aujourdhui??
    d'une date connue stockée quelque part
    avec un msg box?
    parcourir tous les jours depuis un jour donné
    ...
    rémi

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    C'est bien un prog sous excel...

    Sinon, pour contourner la difficulté, n'y a t il pas une manip pour ouvrir le fichier le plus récent à l'intérieur d'un dossier specifié ?

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    non mais c pas vraiment une difficulté ta pas trop répondu à ma question
    tu veux donc ouvrir le fichier le plus récent uniquement
    as-tu un moyen de connaitre présicément le date du fichier? est-ce censé être la date de aujourd'hui?
    rémi

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    J'ai 3 types de fichiers P1_"date au format aaaammjj" , P2_date et P3_date pour chaque jour ouvré.

    Cependant je ne dois reprendre que les fichiers à partir d'aujourd'hui, avant c'était fait manuellement.

    Je dois mettre une partie des données issues de P1_20070417 dans une feuille excel où elles servent de base de calcul. etc

    Il faut donc seulement que j'aide excel à trouver le fichier P1 du jour pour importer mes données et idem avec P2 et P3

    Avec une MsgBox ou de manière transparente , ca ne change rien pour ce que j'ai à faire

    Merci de ta pztience rémi

  8. #8
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    donc si la tache que tu programme ne doit qu'ouvrir le fichier portant la date du jour même ca donnerais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    variable_date = Format(Now, "yyyymmdd")
     
    Workbooks.OpenText Filename:= _
    "Y:\FTSE\End_of_Day\Position_Files\P1_" & variable_date & ".txt", Origin:= _
    xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
    xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
    Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
    TrailingMinusNumbers:=True
    teste et dis moi si ca marche

    rémi

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Ca marche apres 2 ou 3 menues modifications

    Merci beaucoup rémi.

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

Discussions similaires

  1. Ouvrir un fichier dont le nom est contenu dans un autre
    Par camillerufu dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/04/2015, 16h50
  2. Réponses: 11
    Dernier message: 04/06/2014, 14h09
  3. [Batch] Ouvrir un fichier dont le nom est partiellement connu.
    Par TGV6773 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 03/02/2010, 18h24
  4. Réponses: 7
    Dernier message: 12/04/2008, 14h24
  5. Réponses: 4
    Dernier message: 18/08/2006, 07h57

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