Fichier log des utilisations d'un classeur

Je voudrais faire un historique d'ouverture de fichier dans un fichier txt de telle sorte que dès qu'un utilisateur ouvre le fichier, son nom de machine et son login s'inscrive dans un fichier txt.

Copie tout ce qui suit dans un module standard :

 Dans le haut d'1 module ordinaire - Déclaration des API
 
 Declare Function GetComputerName& Lib "kernel32" Alias "GetComputerNameA" (ByVal lbbuffer As String, nSize As Long)
 Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
 Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
 '---------------------------------
 Function OSMachineName() As String
 'Dave Peterson, mpep
 Dim Buffer As String * 256
 Dim BuffLen As Long
 Dim lngX As Long
 Dim strCompName As String
 BuffLen = 255
 If GetComputerName(Buffer, BuffLen) Then
 OSMachineName = Left(Buffer, BuffLen)
 End If
 End Function
 '---------------------------------
 Function OSUserName() As String
 'Dave Peterson, mpep
 Dim Buffer As String * 256
 Dim BuffLen As Long
 BuffLen = 256
 If GetUserName(Buffer, BuffLen) Then
 OSUserName = Left(Buffer, BuffLen - 1)
 End If
 End Function
 

Copie la procédure suivante dans le ThisWorkbook de ton classeur

 Private sub Workbook_Open()
 
 Dim Usager As String, Machine As String
 Usager = OSUserName()
 Machine = OSMachineName()
 Open "C:\CompteRendu.txt" For Append As #1
 Write #1, "Usager : " & Usager & " " & "Ordi : " & Machine & " " & "Date : " & Now
 Close #1
 
 end sub

Auteur :

Mots clefs associés à cette page : , ,