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 la date de modification d'un fichier [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 231
    Par défaut Récupérer la date de modification d'un fichier
    Bonjour,

    J'aimerais pouvoir récupérer la date de modification d'un fichier, exemple C:\test.txt.

    Auriez-vous une solution ?

    Merci et bonne journée

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 231
    Par défaut
    Finalement j'ai trouvé mon bonheur ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Test()
     
    Dim oFSO As Scripting.FileSystemObject
    Dim oFl As Scripting.File
     
    Set oFSO = New Scripting.FileSystemObject
    Set oFl = oFSO.GetFile("C:\test.txt")
     
    MsgBox oFl.DateLastModified
     
    End Sub
    Bonne journée

  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

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Ces liens sont à privilégier.

    Juste pour complément.
    Il m'arrive d'utiliser les méthodes Shell pour des caractéristiques complètes.

    J'ai aperçu près de 60 items dont 40 ci-dessous.

    Inconvénient, du moins sur mon poste: Très lent!

    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
    67
    68
    69
    70
    71
    Sub Test()
     
    '0    Nom
    '1    Taille
    '2    Type d’élément
    '3    Modifié le
    '4    Date de création
    '5    Date d’accès
    '6    Attributs
    '7    État hors connexion
    '8    Hors connexion
    '9    Type identifié
    '10  Propriétaire
    '11  Sorte
    '12  Prise de vue
    '13  Artistes ayant participé
    '14  Album
    '15  Année
    '16  Genre
    '17  Chefs d’orchestre
    '18  Mots -clés
    '19  Notation
    '20  Auteurs
    '21  Titre
    '22  Objet
    '23  Catégories
    '24  Commentaires
    '25  Copyright
    '26  N°
    '27  Longueur
    '28  Vitesse de transmission
    '29  Protégé
    '30  Modèle d 'appareil photo
    '31  Dimensions
    '32  Appareil photo
    '33  Entreprise
    '34  Description du fichier
    '35  Nom du programme
    '36  Durée
    '37  Connecté
    '38  Périodique
    '39  Emplacement
    '40  Adresses des participants facultatifs
     
        Dim I As Long, Ligne As Long, n As Byte
        Dim sFile As Variant
        Dim oShell: Set oShell = CreateObject("Shell.Application")
        Dim oDir:   Set oDir = oShell.Namespace("lenomcompletdurépertoire")
     
        Ligne = 2
     
     Application.ScreenUpdating = False
     
        For Each sFile In oDir.Items
            n = n + 1
            If n = 10 Then Exit Sub
            With Worksheets(3)
            For I = 0 To 60
                'indice de la caractéristique
                .Range("A" & Ligne) = I
                'nature de la caractéristique
                .Range("B" & Ligne) = oDir.GetDetailsOf(oDir.Items, I)
                'caractéristique : pour auteur i = 20
                .Range("C" & Ligne) = oDir.GetDetailsOf(sFile, I)
                Ligne = Ligne + 1
            Next
            Ligne = Ligne + 1 'pour séparer les blocs
            End With
     
        Next
    End Sub

  5. #5
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Bonjour,

    Si les fichiers sont des documents Office, vous pouvez aussi récupérer la date en passant par (par exemple) par le BuiltinDocumentProperties

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Write_file_info(ByVal Wksh_namS As String, CelladdS As String)
    '=============================================================================
    ' Write the last save informations: date and username
     
            With ThisWorkbook.Worksheets(Wksh_namS).Range(CelladdS)
     
                .Value = ThisWorkbook.BuiltinDocumentProperties(12).Value
                .Offset(1, 0).Value = ThisWorkbook.BuiltinDocumentProperties(7).Value
     
            End With
     
    End Sub

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour ATK_49
    J'aimerais pouvoir récupérer la date de modification d'un fichier
    montre que seule t'intéresse la dernière date de modification d'un fichier.
    Tu n'as besoin de rien d'autre à cette fin-là que de la fonction filedatetime de VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    toto = filedatetime("....chemin_complet_du_fichier ...")
    affectera à la variable toto la date de dernière modification effectuée sur ce fichier.

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

Discussions similaires

  1. Réponses: 20
    Dernier message: 07/06/2017, 14h42
  2. [Batch] Récupérer la date de modification d'un fichier
    Par KuBi4K dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 18/06/2010, 11h16
  3. Récupérer dernière date de modification fichier win32
    Par crazydindon dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2010, 12h17
  4. Réponses: 2
    Dernier message: 22/10/2009, 21h39
  5. Récupérer la date de modif d'un fichier
    Par Sensei.Dje dans le forum C
    Réponses: 1
    Dernier message: 04/01/2008, 10h57

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