"espionner" l'ouverture d'un fichier

sabyann

XLDnaute Nouveau
Bonjour

J'ai un fichier sur le réseau d'une entreprise. 3 ou 4 personnes utilisent ce fichier.
est il possible par un code vba, d'indiquer dans une cellule qui (adresse ip de la machine) a ouvert le fichier. (pour savoir qui et l'heure d'utilisation) ?

Par avance merci
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : "espionner" l'ouverture d'un fichier

re

voici le code
Code:
Option Explicit
Private Const ThePath As String = "T:\partage\Suivi.txt"
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, _
nSize As Long) As Long

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 = ThisWorkbook.Name & " sur " & ThisWorkbook.Path & " Ouvert le : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _
vbTab & "Log Connection : " & vbTab & UserName & vbTab & _
"Application User Name : " & vbTab & Application.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
ret = GetUserName(lpBuff, 25)
UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)

Spy = ThisWorkbook.Name & " sur " & ThisWorkbook.Path & " Fermé le : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _
vbTab & "Log Connection : " & vbTab & UserName & vbTab & _
"Application User Name : " & vbTab & Application.UserName

Open ThePath For Append As #1
Print #1, Spy
Close

End Sub
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : "espionner" l'ouverture d'un fichier

Bonjour,

http://boisgontierjacques.free.fr/fichiers/Evenementiel/Espion.xls

Code:
Sub auto_open()
  Sheets("espion").[A65000].End(xlUp).Offset(1, 0) = Now
End Sub

Sub auto_close()
  Sheets("espion").[A65000].End(xlUp).Offset(0, 1) = Now
  Sheets("espion").[A65000].End(xlUp).Offset(0, 2) = Environ("username")
  Sheets("espion").[A65000].End(xlUp).Offset(0, 3) = Environ("computername")
  Sheets("espion").Visible = xlVeryHidden
End Sub

Sub affiche_espion()
  mp = InputBox("Mot de passe?")
  If mp = "jacques" Then
    Sheets("espion").Visible = True
  End If
End Sub

JB
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 081
Membres
103 457
dernier inscrit
fab2614