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

  • Initiateur de la discussion Initiateur de la discussion titiyas
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
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
 
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
 
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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Contrôle sur date
Réponses
8
Affichages
115
Retour