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

A voir également:

2 réponses

claudepec Messages postés 2 Statut Membre
 
Please.... J'ai personne qui peut m'aider ?
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
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
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
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