1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
   | Option Explicit
 
'-------------------------------
'dans le module objet ThisWorkbook du classeur partagé.
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
    (ByVal lpBuffer As String, nSize As Long) As Long
 
 
'La procédure enregistre dans le fichier texte, le nom de l'utilisateur et la date
'd'ouverture du classeur.
Private Sub Workbook_Open()
    Dim lpBuff As String * 25
    Dim Ret As Long
    Dim UserName As String, strInfos As String, Chemin As String
 
    If ThisWorkbook.ReadOnly = True Then Exit Sub
 
    Ret = GetUserName(lpBuff, 25)
    UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
 
    'adaptez le chemin du fichier txt en réseau
    Chemin = "x:\log.txt"
 
    strInfos = "Ouvert le : " & vbTab & Format(Now, "dd/mm/yyyy hh:mm:ss") & _
        vbTab & "par : " & vbTab & UserName
 
    Open Chemin For Append As #1
        Print #1, strInfos
    Close
End Sub
 
 
'La procédure enregistre dans le fichier texte, le nom de l'utilisateur et la date
'de fermeture du classeur.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim lpBuff As String * 25
    Dim Ret As Long
    Dim UserName As String, strInfos As String, Chemin As String
 
    If ThisWorkbook.ReadOnly = False Then
        Ret = GetUserName(lpBuff, 25)
        UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
 
       'adaptez le chemin du fichier txt en réseau
        Chemin = "x:\log.txt"
 
        strInfos = "Fermé le " & vbTab & Format(Now, "dd/mm/yyyy hh:mm:ss") & _
            vbTab & "Par : " & vbTab & UserName
 
        Open Chemin For Append As #1
            Print #1, strInfos
        Close
    End If
End Sub
 
'----------------------------------------------------- | 
Partager