Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1598 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Lister ouverture fichiers par rapport date

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lister ouverture fichiers par rapport date

n°2306045
razer69
Posté le 24-09-2017 à 15:32:08  profilanswer
 

Bonjour à tous,
 
je dispose d'un répertoire d:\data  (composer de dossier , sous dossier, sous sous dossier.... fichier) sous >Windows2008 r2 et je voudrais arriver a lister tous les fichiers qui n'ont pas été ouverte (sans forcement de modification) depuis une date.
 
Je voudrais savoir si il est possible d'arriver a cela, si il y a une propriété dans le fichier qui permet d'avoir cette information.
 
 
merci d'avance pour vos retour experiences.
 
razer69

mood
Publicité
Posté le 24-09-2017 à 15:32:08  profilanswer
 

n°2306668
kiki29
Posté le 14-10-2017 à 13:11:22  profilanswer
 

Salut, voir http://excel.developpez.com/source [...] ecroissant avec "DateLastAccessed"
ou https://excel.developpez.com/telech [...] e-fichiers via "Date d’accès" soit ici objFolder.GetDetailsOf(strFileName, 5)
 


---------------
Contributions : Excel/PDF avec Acrobat/PDFCreator/XPDF http://www.developpez.net/forums/d [...] ost8001071
n°2306669
kiki29
Posté le 14-10-2017 à 13:20:58  profilanswer
 

Affecter un bouton à SelDossier
CodeName de la feuille recevant les données : ShFichiers
pour cela voir https://www.developpez.net/forums/d [...] ost5196611
A adapter au contexte : le tri et les fichiers concernés ( ici xls )
 

Option Explicit
 
Private Declare Function QueryPerformanceCounter Lib "Kernel32" (X As Currency) As Boolean
Private Declare Function QueryPerformanceFrequency Lib "Kernel32" (X As Currency) As Boolean
 
Dim NbFichiers As Long
 
Private Sub Entete()
    With ShFichiers
        .Cells.Clear
        .Range("A3" ) = "Nom"
        .Range("B3" ) = "Date de Création"
        .Range("C3" ) = "Date Dernière Modification"
        .Range("D3" ) = "Date Dernier accès"
    End With
End Sub
 
Private Sub Import(sDossier As String)
Dim Debut As Currency, Fin As Currency, Freq As Currency
Dim LastRow As Long
    Application.ScreenUpdating = False
    QueryPerformanceCounter Debut
 
    NbFichiers = 0
    Entete
    ListeFichiersDans sDossier, True
 
    With ActiveWindow
        .ScrollRow = 1
        .ScrollColumn = 1
    End With
 
    ShFichiers.Rows("3:3" ).Font.Bold = True
    ShFichiers.Columns("B:D" ).Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
    End With
    ShFichiers.Columns("A:K" ).Columns.AutoFit
 
    LastRow = ShFichiers.Range("A" & Rows.Count).End(xlUp).Row
    ShFichiers.Range("B4:D" & LastRow).NumberFormat = "dd/mm/yyyy hh:mm:ss"
 
    Tri
 
    QueryPerformanceCounter Fin
    QueryPerformanceFrequency Freq
 
    Application.StatusBar = "Terminé : " & NbFichiers & " / " & Format((Fin - Debut) / Freq, "0.00 s" )
    Application.ScreenUpdating = True
End Sub
 
Private Sub ListeFichiersDans(sDossierSource As String, bInclureSousDossiers As Boolean)
Dim FSO As Object
Dim DossierSource As Object
Dim SousDossier As Object
Dim Fichier As Object
Dim r As Long
 
    Set FSO = CreateObject("Scripting.FileSystemObject" )
    Set DossierSource = FSO.GetFolder(sDossierSource)
 
    r = ShFichiers.Range("A" & Rows.Count).End(xlUp).Row
 
    For Each Fichier In DossierSource.Files
        If UCase$(Fichier.Name) Like ("*.XLS" ) Then
            r = r + 1
            With ShFichiers
                .Cells(r, 1) = Fichier.Name
                .Cells(r, 2) = Fichier.DateCreated
                .Cells(r, 3) = Fichier.DateLastModified
                .Cells(r, 4) = Fichier.DateLastAccessed
                NbFichiers = NbFichiers + 1
            End With
        End If
        Application.StatusBar = NbFichiers
    Next Fichier
 
    If bInclureSousDossiers Then
        For Each SousDossier In DossierSource.SubFolders
            ListeFichiersDans SousDossier.Path, True
        Next SousDossier
    End If
 
    Set DossierSource = Nothing
    Set FSO = Nothing
End Sub
 
Sub SelDossier()
Dim sChemin As String
 
    sChemin = ThisWorkbook.Path
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = sChemin & "\"
        .Title = "Sélectionner un Dossier"
        .AllowMultiSelect = False
        .InitialView = msoFileDialogViewDetails
        .ButtonName = "Sélection Dossier"
        .Show
        If .SelectedItems.Count > 0 Then
            DoEvents
            Import .SelectedItems(1)
        End If
    End With
    ShFichiers.Range("B1" ).Select
End Sub
 
Private Sub Tri()
Dim LastRow As Long
    LastRow = ShFichiers.Range("A" & Rows.Count).End(xlUp).Row
 
    ShFichiers.Range("A4:D" & LastRow).Sort Key1:=ShFichiers.Range("A4" ), Order1:=xlAscending, _
                                            Key2:=ShFichiers.Range("B4" ), Order2:=xlAscending, _
                                            Key3:=ShFichiers.Range("C4" ), Order3:=xlAscending, _
                                            Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                                            DataOption1:=xlSortNormal, _
                                            DataOption2:=xlSortNormal, _
                                            DataOption3:=xlSortNormal
    ShFichiers.Range("B1" ).Select
End Sub


Message édité par kiki29 le 15-10-2017 à 23:58:35

---------------
Contributions : Excel/PDF avec Acrobat/PDFCreator/XPDF http://www.developpez.net/forums/d [...] ost8001071

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Lister ouverture fichiers par rapport date

 

Sujets relatifs
VBA BO afficher le gestionnaire de rapport[Perl] Comparaison de fichiers
lister les champs d'une table en connexion odbcLister les imprimantes par utilisateur
Boucle taille fichiers et lancementbat sur une list de fichiers csv avec plusieurs valeurs
VBS Lister les fichiers d'un répertoire et sous repertoireOuverture de VM en plein écran à aprtir d'un batch (RESOLU)
Lister les différences de types de données entre les colonnes clés 
Plus de sujets relatifs à : Lister ouverture fichiers par rapport date



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR