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 :

Récupérer date d'un fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 31
    Par défaut Récupérer date d'un fichier
    Bonjour,

    J'aurais besoin de récupérer la date d'un fichier, est-ce possible?

    Cordialement,

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Bonjour

    C'est possible en cherchant dans la (hé oui... )et en adaptant

    http://excel.developpez.com/faq/?pag...TriFichiersRep

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 31
    Par défaut
    Oui mais je n'ai pas accès à la FAQ, je suis assez limité dans mes accès. Je ne peux donc lire le lien posté.

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Bonjour,

    Si vous n'avez pas accès à cette page voici le code fournis par SilkyRoad
    La procédure liste les fichiers d'un répertoire par ordre décroissant de création.
    Vous trouverez en commentaire les paramètres pour utiliser la date de dernière modification des fichiers.
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    Option Explicit
     
     
    Sub triDecroissant_Fichiers_DateDreation()
        Dim Fichier As String, Chemin As String
        '
        'Nécessite d'activer la référence "Microsoft Scripting RunTime"
        '
        Dim Fso As Scripting.FileSystemObject
        Dim FileItem As Scripting.File
        Dim Tableau()
        Dim Plage As Range
        Dim m As Integer, i As Integer
        Dim z As Byte, Valeur As Byte
        Dim Cible As Variant
     
        '---liste les fichiers du répertoire ---
        Chemin = "C:\Documents and Settings\dossier"
        Fichier = Dir(Chemin & "\*.*")
        'pour filtrer sur un type de fichiers (par exemple xls)
        'Fichier = Dir(Chemin & "\*.xls")
     
        'Boucle sur les fichiers
        Do
     
            m = m + 1
            ReDim Preserve Tableau(1 To 2, 1 To m)
            Tableau(1, m) = Fichier
     
            Set Fso = CreateObject("Scripting.FileSystemObject")
            Set FileItem = Fso.GetFile(Chemin & "\" & Fichier)
     
            'Récupère la date de création
            Tableau(2, m) = Left(FileItem.DateCreated, 10)
            'Pour récupérer la date de dernière modification
            'Tableau(2, m) = Left(FileItem.DateLastModified, 10)
            'Pour récupérer la taille du fichier
            'Tableau(2, m) = Left(FileItem.Size, 10)
     
            Fichier = Dir
        Loop Until Fichier = ""
     
     
        '---Trie les fichiers par ordre décroissant de création ---
        Do
            Valeur = 0
            For i = 1 To m - 1
                If CDate(Tableau(2, i)) < CDate(Tableau(2, i + 1)) Then
                    For z = 1 To 2
                        Cible = Tableau(z, i)
                        Tableau(z, i) = Tableau(z, i + 1)
                        Tableau(z, i + 1) = Cible
                    Next z
     
                    Valeur = 1
                End If
            Next i
        Loop While Valeur = 1
     
     
        '--- Transfère les données dans la feuille de calcul ---
        Set Plage = Worksheets("Feuil2").Range("A1")
        Set Plage = Plage.Resize(UBound(Tableau(), 2), UBound(Tableau()))
        Plage = Application.Transpose(Tableau())
     
    End Sub
    Bonne journée,
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 31
    Par défaut
    Merci bien!

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 31
    Par défaut
    Je me suis aidée de l'exemple pour récupérer ma date.
    Toutefois j'ai un problème car la macro marche bien mais ne me permet de récupérer la date que sur des fichiers présents sur le disque dur, or je dois récupérer la date sur un fichier en réseau.

    Je pense que le problème est mon FileSystemObject.

    Merci pour votre aide.

    Cordialement,


    Voici ma macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub récupère_date()
     
    Dim Fichier As String
    Dim FileItem As Scripting.File
    Dim Fso As Scripting.FileSystemObject
    Fichier = "http://dmb.pcinfo.ineppsa.com/doc/304808656.pc1fm" 
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set FileItem = Fso.GetFile("http://dmb.pcinfo.ineppsa.com/doc/304808656.pc1fm")
    Sheets("Diane").Cells(1, 8) = FileItem.DateLastModified
     
    End Sub

Discussions similaires

  1. Récupérer date de modification fichier
    Par WibiMaster dans le forum Langage
    Réponses: 5
    Dernier message: 22/02/2011, 10h48
  2. récupérer la date du cliché fichier Jpg
    Par Ricquet dans le forum Delphi
    Réponses: 2
    Dernier message: 08/07/2007, 10h13
  3. [CLI] Récupérer la version des fichiers à une date donnée
    Par jreeman dans le forum CVS
    Réponses: 1
    Dernier message: 27/02/2007, 11h35
  4. [Cryptage] Récupérer Date cryptée dans fichier text
    Par SansSucre dans le forum Access
    Réponses: 2
    Dernier message: 29/07/2006, 13h03
  5. Réponses: 11
    Dernier message: 23/07/2002, 14h33

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