Espions Excel 2003

claudepec Messages postés 2 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je dois installer un espions sur un fichier excel qui comporte 5 onglets. Cet espions me permettra de connaître sur les quels ils vont le plus souvent, combien de fois dans le mois et à la date....

Auriez vous une idée, car je sais qu'on peut généré un fichier (type txt je pense) qui pourrais me donner ces states....

Merci à vous

2 réponses

  1. claudepec Messages postés 2 Statut Membre
     
    Please.... J'ai personne qui peut m'aider ?
    0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    Une piste (auteur @+Thierry)

    inscrit dans un fichier txt qui quand le classeur a été ouvert puis fermé et par qui
    codes à copier dans le module thisworkbook de VBE(alt+F11)
    le principe est le m^me pour les feuilles ouvertes avec seulement la date et l'heure et le nm de la feuille envoyés dans le txt en utilisant worksheet_activate

    nota: il faut emp^cher l'accès simultané au classeur

    Option Explicit  
    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 = "D:\documents\Spy.txt" ' à adapter au réseau  
    
    Spy = "Open on : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _  
    vbTab & "Qui? : " & 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 = "D:\documents\Spy.txt" ' à adapter au réseau  
    
    Spy = "Close on : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _  
    vbTab & "Qui? : " & vbTab & UserName  
    
    Open ThePath For Append As #1  
    Print #1, Spy  
    Close  
    End Sub  
    


    Michel
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Modifications et Complément avec caftage des heures d'accès aux feuilles 2 et 4
      Annule et remplace le précédent code

      Option Explicit  
      Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _  
      (ByVal lpBuffer As String, _  
      nSize As Long) As Long  
      Const Chemin As String = "D:\documents\Spy.txt" ' à adapter au réseau  
      
      'Spy Opening/Closing @Thierry  
      Private Sub Workbook_Open()  
      Dim lpBuff As String * 25  
      Dim ret As Long  
      Dim UserName As String, Spy As String  
      
      ret = GetUserName(lpBuff, 25)  
      UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)  
      Spy = "Ouvert le : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _  
      vbTab & "Qui? : " & vbTab & UserName  
      Open Chemin 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  
      
      ret = GetUserName(lpBuff, 25)  
      UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)  
      Spy = "Fermé le : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _  
      vbTab & "Qui : " & vbTab & UserName & vbCrLf & "---------------"  
      Open Chemin For Append As #1  
      Print #1, Spy  
      Close  
      End Sub  
      
      Private Sub Workbook_SheetActivate(ByVal Sh As Object)  
      Dim Spy As String  
      If ActiveSheet.Name = "Feuil4" Or ActiveSheet.Name = "Feuil2" Then  
           Spy = vbTab & "Feuille ouverte :  " & ActiveSheet.Name & _  
           " à : " & Format(Now, "HH:MM:SS")  
          Open Chemin For Append As #1  
          Print #1, Spy  
         Close  
      End If  
      End Sub  
      
      0