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 :

ouvrir le fichier le plus récent


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 28
    Par défaut ouvrir le fichier le plus récent
    Bonjour à tous,

    Je viens solliciter votre aide pour le cas suivant :

    j'utilise une macro chaque jour pour mettre à jours mes données depuis une extraction qui se fait 4 fois par jours, sauf que quand je lance ma macro elle me prend que la 1ère extraction celle de 7h du matin, sauf que je veux qu'elle prenne la dernière extraction la plus récente. Pouvez vous m'aider svp?

    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
    43
    44
    45
    46
    Sub MAJ()
     
    Application.ScreenUpdating = False
     
    'DEFINITION JOUR ET MOIS
     
    'on définit le mois en ajoutant un 0 si inférieur à 10
     mois = Month(Date)
    If mois < 10 Then
    mois = 0 & mois
    Else: mois = mois
    End If
     
    'on définit le jour en ajoutant un 0 si inférieur à 10
     
    jour = Day(Date)
    If jour < 10 Then
    jour = 0 & jour
    Else: jour = jour
    End If
     
     
     
        ' on ouvre l'extraction sur le réseau en fonction de l'heure qu'il est
     
     
        If Time > TimeSerial(12, 0, 0) Then
     
    Repertoire = "S:\RPA_Download"
    Fichier = Dir(Repertoire & "Account_" & jour1 & "*.xlsx")
    If Len(Fichier) > 0 Then
     Workbooks.Open Filename:=Repertoire & Fichier
    End If
     
     
    Else
     
    Repertoire = "S:\RPA_Download"
    Fichier = Dir(Repertoire & "Account_*.xlsx")
    If Len(Fichier) > 0 Then
     Workbooks.Open Filename:=Repertoire & Fichier
     
    End If
     
     
    End If

    Merci de votre aide.

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    il nous manque des infos :

    - tes extractions sont dans un même dossier
    - tes extrations sont dans un même fichier ou dans des fichiers différents
    - comment repères-tu manuellement les différentes versions

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Il faut faire un boucle While sur la fonction Dir() pour scruter tous les fichiers et mettre dans deux variables le nom et la date du fichier qui a la date la plus ancienne.

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 28
    Par défaut
    @Igloobel,

    -tes extractions sont dans un même dossier : oui
    - tes extrations sont dans un même fichier ou dans des fichiers différents: fichiers différents
    - comment repères-tu manuellement les différentes versions : tous les fichiers commencent par ""Account_" + date et heure, ce qui les différencie c'est les heures. et chaque jours les fichiers extraits sont écrasés et on a de nouveaux extractions

  5. #5
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Comme l'a dis Menhir ( ) tu ne boucles pas sur tes fichiers d'extraction c'est pour cela que tu dis :
    ... sauf que quand je lance ma macro elle me prend que la 1ère extraction celle de 7h du matin ...
    comme tu prends toujours le premier c'est normal

    tu as plusieurs boucle à ta disposition :

    - While (Condition) .... Wend
    - Do While (Condition) .... Loop
    - Do Until (Condition) .... Loop
    - Do .... Loop While (Condition)
    - Do .... Loop Until (Condition)

    et enfin
    - For .... Next


    sinon concernant la récupération du mois sur 2 positions je te conseille cette instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mois = Format(Month(Date), "00")
    aujoud'hui tu as "04" demain ce sera "05"

Discussions similaires

  1. Ouvrir le fichier le plus récent dans un dossier
    Par lejack dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/01/2018, 23h16
  2. routine DOS pour sélectionnée le fichier le plus récent
    Par sofiane1111 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 21/09/2007, 10h56
  3. récupérer le fichier le plus récent
    Par kifouillou dans le forum Langage
    Réponses: 24
    Dernier message: 26/01/2007, 00h04
  4. Fichiers le plus récent en BATCH
    Par nolan76 dans le forum Windows
    Réponses: 5
    Dernier message: 03/08/2006, 14h25
  5. Réponses: 2
    Dernier message: 12/03/2006, 23h41

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