Créer un LOG à l'ouverture d'un fichier
Bonjour,
J'ai actuellement un fichier xlsx sur mon réseau d'Entreprise et je voudrais savoir qui l'ouvre et quand
Pour cela, je souhaiterais que les LOG soient dans un fichier à part et non dans le fichier concerné, et si possible dans un <REP> différent.
Une idée ?
Merci de votre aide
Cdt
Bonjour cmzxnene
Voici un exemple de ce que l'on peut utiliser dans un module
Sub Journalise(bNull As Boolean) ' Fichier log à la sortie de l'appli
Dim intFileNum As Integer
Dim HOuverture As String, GetId As String
Dim sPathLog As String
' Initialisation du fichier
intFileNum = FreeFile(0)
' heure d'ouverture
HOuverture = Format(Now(), "hh:mm:ss")
' GID de l'utilisateur
GetId = Environ("username")
' Chemin d'accès du fichier LOG
' l'utilisateur doit pouvoir y avoir accès
sPathLog = "\\MonServeur\Dossier Informatique\Log\"
' Vérifier si répertoire existe, sinon le créer et le masquer
On Error Resume Next
MkDir (sPathLog): SetAttr sPathLog, 2
On Error GoTo 0
' Inscrire le log
Open sPathLog & "Journal.log" For Append As #intFileNum
Print #intFileNum, Format(Now, "dd/mm/yyyy") & "," & HOuverture & "," & GetId & "," & ThisWorkbook.Name
Close #intFileNum
End SubQu'on appelle dans ThisWorkbook
Private Sub Workbook_Open()
Call Journalise(True)
End SubA+
Bonjour Bruno,
Et merci beaucoup pour votre réponse et code
En revanche, je ne domine pas spécialement le VBA même si je me débrouille un petit peu
Petites questions sur votre code
- le code est à mettre dans un module de quel fichier ? celui qui sera lu par les utilisateurs (ex : Fichier A) ? (dans ce cas, pas bon car le fichier sera en xlsm et sera bloqué sur le réseau par les nouvelles sécurités de Microsoft) ou dans le fichier (ex : fichier B) qui me servira de contrôle pour vérifier si le fichier A a bien été lu et quand ?
- ' Chemin d'accès du fichier LOG
' l'utilisateur doit pouvoir y avoir accès
- Quand vous parlez de 'l'utilisateur' de qui il s'agit ? moi ? ou celui qui ouvre le fichier A ?
Ce sont peut-être des questions bêtes mais il faut que j'approfondisse
Merci pour votre aide
Bien cordialement
HervéRe,
Si vous ne pouvez pas mettre de VBA dans le fichier A, je ne peux rien faire pour vous
La nouvelle sécurité Microsoft, n'empêche pas l'utilisation d'un fichier ".xlsm" il faut juste qu'il soit validé
Voir peut-être la discussion ici https://forum.excel-pratique.com/discussions/nouvelle-securite-fichier-excel-xlsm-177485
A+
Bonjour Bruno,
C'est bien le cas, je ne voulais pas mettre de VBA dans mon fichier A à cause de la sécurité Microsoft
Sauf si bien entendu j'arrive à définir comme emplacement de confiance un répertoire sur notre réseau d'Entreprise
Mais ce n'est pas si simple
Je n'arrive pas à ajouter ce répertoire dans le Centre de confidentialité
Je vais continuer à fouiller
Merci quand même
Cdt
Re,
Si le nom de ce fichier ne change pas, il suffit de le débloquer une fois selon la procédure dans le lien
Dans mon entreprise, nous utilisons un tas de fichier ".xlsm" et pourtant nous avons une sécurité accrue
A+