Microsoft 365 Afficher dans cellule la date d'enregistrement d'un autre fichier excel

titiyas

XLDnaute Nouveau
Bonjour à tous,
J'ai besoin de vous SVP
Comme indiqué dans le titre, je cherche un code VBA afin de permettre l'affichage, à l'ouverture de mon classeur, de la date d'enregistrement d'un autre fichier excel qui se trouve sur le réseau.
J'ai trouvé sous la forme d'un MsgBox mais ce qui m'intéresse c'est de l'automatiser à l'ouverture.
Merci pour votre aide :)
 
Solution
Jai légèrement réadapté dans le module du classeur sous cette forme :

Private Sub Workbook_Open()
Dim f

Set f = CreateObject("Scripting.FileSystemObject").GetFile("F:\Repertoire\Etat.xls")

With ThisWorkbook.Sheets("Feuil1").Range("A1")
.Value = f.DateLastModified
.NumberFormat = "m/d/yyyy"
End With
End Sub


ça fonctionne nickel 😊
Merci à vous 2

ThierryP

XLDnaute Occasionnel
Bonjour Titiyas,

Il suffit de placer ton code dans le WorkBook_Open de ton classeur :
VB:
Option Explicit

Private Sub Workbook_Open()
'Ton code ici
msgbox "Le résultat de ton code"
'ou
Feuil1.range("A1")="Le résultat de ton code"
End Sub
 

titiyas

XLDnaute Nouveau
Merci ThierryP pour ta réponse mais je dois mal m'y prendre cars je n'arrive pas à insérer mon code dans celui que tu m'as donné.
Voici mon code :

Function DateLastModified(filespec As String) As Date
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(filespec)
DateLastModified = f.DateLastModified

End Function

Sub test()

MsgBox DateLastModified("F:\Repertoire\Etat.xls")
End Sub
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonsoir,

Mettra la date en cellule A1 de la feuille nommée "Feuil1"
VB:
Sub test()

With ThisWorkbook.Sheets("Feuil1").Range("A1")
    .Value = DateLastModified("F:\Repertoire\Etat.xls")
    .NumberFormat = "m/d/yyyy"
End With
End Sub

Ou dans le module de code du classeur:
VB:
Private Sub Workbook_Open()
    Dim fso, f
   
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile("F:\Repertoire\Etat.xls")

    With ThisWorkbook.Sheets("Feuil1").Range("A1")
        .Value = f.DateLastModified
        .NumberFormat = "m/d/yyyy"
    End With
   
    Set f = Nothing
    Set fso = Nothing

End Sub
Ou en plus court

VB:
Private Sub Workbook_Open()
    Dim f
    
    Set f = CreateObject("Scripting.FileSystemObject").GetFile("F:\Repertoire\Etat.xls")

    With ThisWorkbook.Sheets("Feuil1").Range("A1")
        .Value = f.DateLastModified
        .NumberFormat = "m/d/yyyy"
    End With
    
    Set f = Nothing

End Sub

A vous de faire un effort de compréhension et d'adapter.
 
Dernière édition:

titiyas

XLDnaute Nouveau
Jai légèrement réadapté dans le module du classeur sous cette forme :

Private Sub Workbook_Open()
Dim f

Set f = CreateObject("Scripting.FileSystemObject").GetFile("F:\Repertoire\Etat.xls")

With ThisWorkbook.Sheets("Feuil1").Range("A1")
.Value = f.DateLastModified
.NumberFormat = "m/d/yyyy"
End With
End Sub


ça fonctionne nickel 😊
Merci à vous 2
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83