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 :

Vérification code pour trouver un fichier dont le nom change régulièrement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Fonction Support
    Inscrit en
    Août 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Fonction Support
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 16
    Par défaut Vérification code pour trouver un fichier dont le nom change régulièrement
    Bonjour à tous,

    Je souhaiterais avoir votre avis sur un mini bout de code que j'ai rédigé (savoir ce que vous pensez de la syntaxe, si je peux améliorer/simplifier, les éventuels risques de la syntaxe utilisée). Le but de ce code est d'ouvrir un fichier Excel, où d'autres bouts de code récupèreront des données, mais le nom de ce fichier change tous les mois tout en conservant un suffixe identique (ex : "11-2013 Arrivées PFR" ou "12-2013 Arrivées PFR").

    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
    Sub TestImport()
     
    Dim MonChemin As String
    Dim MonFichier As String
     
    Dim ScClass As Workbook
    Dim DataClass As Workbook
     
    'Définir le classeur actif en tant que variable
     
    Set DataClass = ThisWorkbook
     
    'Récupérer le nom du fichier source en cours
     
    MonChemin = "P:\Everyone\ADS - PFR\*Arrivées PFR.xlsm"
     
    Worksheets("test").Select
     
    Range("a1") = Dir(MonChemin)
     
    MonFichier = "P:\Everyone\ADS - PFR\" & Range("a1").Value
     
    'Définir le classeur source comme variable et l'ouvrir
     
    Set ScClass = Workbooks.Open(MonFichier)
     
    End Sub
    Qu'en pensez-vous ?

    PS : Merci par avance de votre aide

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Pour ouvrir le fichier correspondant au mois en cours
    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
    Sub TestImport()
    Dim MonChemin As String, MonFichier As String
    Dim ScClass As Workbook, DataClass As Workbook
     
    '/!\ Récupérer le nom du fichier source du mois en cours
     
    MonChemin = "P:\Everyone\ADS - PFR\"
    MonFichier = MonChemin & Format(Date, "mm-yyyy") & " Arrivées PFR.xlsm"
     
    If Dir(MonFichier) <> "" Then
        'Définir le classeur actif en tant que variable
        Set DataClass = ThisWorkbook
        'Définir le classeur source comme variable et l'ouvrir
        Set ScClass = Workbooks.Open(MonFichier)
     
    Else
        MsgBox "Fichier " & MonFichier & " introuvable.", , "Erreur"
    End If
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Fonction Support
    Inscrit en
    Août 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Fonction Support
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 16
    Par défaut
    Intéressant aussi, mais le premier jour du mois, je ne trouverais que le fichier du mois précédent dans le dossier, d'où le fait que je n'ai pas automatisé sur le mois en cours. En fait je ne fais récupère mes données qu'en J+1.

    Mais à priori, mon utilisation de la fonction "Dir" est correcte ?

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Remplace donc Date par Date +1 en ligne 8.

    Si tu as plusieurs fichiers avec ta façon de faire (ton Dir), le code doit connaitre lequel est le bon. Non?

Discussions similaires

  1. [XL-2007] Code pour fermer un fichier dont on connaît le lien
    Par kl1ft dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/10/2011, 20h20
  2. Réponses: 1
    Dernier message: 22/01/2009, 15h24
  3. code pour enregistré un fichier sous different nom
    Par france38 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/10/2006, 13h31
  4. commande pour trouver un fichier sur le disque dur...
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 11/11/2005, 00h10
  5. petits soucis pour trouver un fichier autoexec.bat
    Par lestat69 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 20/10/2005, 14h11

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