VBA Excel: Piste d'audit - Ouverture, modif d'un classeur

Résolu
Alice -  
 Alice -
Bonjour,

J'aimerais savoir si quelqu'un pouvait me proposer un code en VBA afin de savoir qui a ouvert et modifié un document Excel.

Merci

1 réponse

  1. Anne
     
    Bonjour,

    Une demande similaire a été posée récemment et voici le code qui a été proposé, et qui fonctionne, à condition d'être adapté et collé dans la feuille 'This workbook' du classeur:

    Private Sub Workbook_Open()
    Dim num As Integer, FichierTXT As String
    Dim Qui As String, Quand As Date

    FichierTXT = "D:\Users\Moi\Desktop\QuiYaTouche.txt" 'A ADAPTER
    Qui = Environ("username")
    Quand = Format(Now, "dd/mm/yyyy hh:mm:ss")
    num = FreeFile
    Open FichierTXT For Append As #num
    Print #1, "Ouverture du fichier par : " & Qui & " le : " & Quand
    Close #num
    End Sub

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim num As Integer, FichierTXT As String

    FichierTXT = "D:\Users\Moi\Desktop\QuiYaTouche.txt" 'A ADAPTER
    num = FreeFile
    Open FichierTXT For Append As #num
    Print #1, "Modifications de : " & Sh.Name & " cellule : " & Target.Address & " le : " & Format(Now, "dd/mm/yyyy hh:mm:ss")
    Close #num
    End Sub

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim num As Integer, FichierTXT As String
    Dim Qui As String, Quand As Date

    FichierTXT = "D:\Users\Moi\Desktop\QuiYaTouche.txt" 'A ADAPTER
    Qui = Environ("username")
    Quand = Format(Now, "dd/mm/yyyy hh:mm:ss")
    num = FreeFile
    Open FichierTXT For Append As #num
    Print #1, "Fermeture du fichier par : " & Qui & " le : " & Quand
    Close #num
    End Sub

    Bonne journée!
    0
    1. Alice
       
      Effectivement, il fonctionne très bien, merci!
      0