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 :

ouverture de fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 30
    Par défaut ouverture de fichier
    Pour le boulot, je dois effectuer une macro.

    Lors du lancement de celle-ci, la macro doit verifier le nom d'un fichier sauvé a un endroit specifique du disque C:.

    Le probleme est que ce fichier se presente sous un nom "IR1_2009-04-23_78964.xls".
    Sachant que ce fichier est tous les jours ecrasé (donc la date ainsi que la derniere reference sont tjs volatiles).
    Comment faire pour indiquer a la macro de regarder pour le fichier dont le nom commence par "IR1_" la date du jour (ici c'est 2009-04-23) et de mettre cette date d'un texte box d'une userform?

    Merci

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim reference as string
    reference="78964"
    msgbox "IR1_"  & Format(Date, "yyyy-dd-mm") & "_" & reference & ".xls"
    pour mettre la date dans un texte box
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    textbox1=Format(Date, "yyyy-dd-mm")
    Personnellement si la date ne doit pas être modifier par l'utilisateur je préfère faire un intitulé et utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1.Caption =Format(Date, "yyyy-dd-mm")

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 30
    Par défaut
    le prob est que ce que tu as defini comme reference est une reference volatile.

    le fichier comporte tjs une reference differente d'un jour a l'autre sans aucune logique.

    Je me posais la question de savoir si je pouvais "dire" la macro de regarder la date du fichier dont le nom commence par "IR1_"

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 354
    Par défaut
    Bonjour,

    J'allais te coder un truc quand je me suis rappeler que Ouskel'n'or avait déjà fait une réponse à ce type de demande.
    Alors rendons à César ce qui appartient à César.
    Tu trouveras la discussion ici
    et plus spécifiquement la réponse de ousekl'n'or ici.

    À adapter pour ta demande, mais je pense que ça résolvera ton problème.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Je viens de donner cette réponse à une autre question sur le forum et je pense que ça pourrait t'aider !

    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:\data" 'Tu mets le nom du répertoire où se situe ton fichier
            .Filename = "IR1_*.*"
            .SearchSubFolders = True 'Si besoin, tu gardes cette ligne pour chercher aussi dans les sous-répertoires
            .Execute
            For Ctr = 1 To .FoundFiles.Count
                WorkSheets("Hello").Cells(Ctr,1) = .FoundFiles(Ctr) 'Place dans la cellule A1 de la feuille Hello le nom du fichier trouvé puis dans B1, C1... les autres fichiers commençant par IR1_ (Si tu n'en as qu'un seul, ben seule la cellule A1 sera remplie)
            Next
        End With
    End Sub
    Et voilà ! Une fois que tu as dans A1 le nom de ton fichier, tu peux traiter cette chaîne de caractères pour récupérer la date et la référence dans deux autres cellules ou autres textbox.

    EDIT : je viens de regarder ce qu'avait proposé Ouskel'n'or à "l'époque". C'est le même état d'esprit et, surtout, c'est la version déjà adaptée que je te propose

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 354
    Par défaut
    J'avoue, j'ai été un peu fainéant sur ce coup

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

Discussions similaires

  1. ouverture de fichier txt
    Par juguul dans le forum MFC
    Réponses: 11
    Dernier message: 18/12/2003, 09h44
  2. Ouverture de fichier en api
    Par Michaël dans le forum Windows
    Réponses: 9
    Dernier message: 10/12/2003, 16h47
  3. Ouverture de fichier
    Par Ricou.13 dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/10/2003, 08h59
  4. Réponses: 2
    Dernier message: 26/02/2003, 15h18
  5. [VBA-E] Evenement ouverture de fichier
    Par gjeff dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/12/2002, 09h42

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