En fouillant j'ai trouvé ceci:
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, _
nSize As Long) As Long
'Spy Opening/Closing @Thierry
Private Sub Workbook_Open()
Dim lpBuff As String * 25
Dim ret As Long
Dim UserName As String, Spy As String, ThePath
ret = GetUserName(lpBuff, 25)
UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
ThePath = "C:\Spy.txt"
Spy = "Open on : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _
vbTab & "User Name : " & vbTab & UserName
Open ThePath For Append As #1
Print #1, Spy
Close
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim lpBuff As String * 25
Dim ret As Long
Dim UserName As String, Spy As String, ThePath
ret = GetUserName(lpBuff, 25)
UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
ThePath = "C:\Spy.txt"
Spy = "Close on : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _
vbTab & "User Name : " & vbTab & UserName
Open ThePath For Append As #1
Print #1, Spy
Close
End Sub
Malheureusement ça me donne le nom de la séssion mais pas celui de l'ordinateur.
Pouvez vous m'aider un améliorer cette macro?
Merci