Pour un fichier EXCEL disponible sur un répertoire partagé, est-il possible
de connaître :
- 1) le ou les postes qui ont ouvert ce fichier
- 2) à quelle heure
- 3) quels onglets ont été consultés
- 4) combien de temps a t'il été consulté
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
Bonjour,
Une solution qui donne le "pc utilisé", "le nom de l'utilisateur", "la date" et "l'heure" d'acces Il est placé dans un module standard et, est appelé à l'ouverture du classeur par "Call mouchard" En adaptant "Repertoire" par le pc cible + l'emplacement du répertoire cible A placer dans le classeur à surveiller Le resultat la création d'un fichier .txt avec comme nom "Mouchard de" [nom du classeur].txt '------------------- Private Sub Workbook_Open() Call mouchard End Sub '----------------- Sub mouchard() Dim Repertoire As String, nom As String On Error Resume Next Repertoire = "le nom du pc ciblerepertoire1Mouchard" ' A adapter If Dir(Repertoire, 16) = "" Then MkDir Repertoire If Err = 0 Then nom = Repertoire & "Mouchard de " & ThisWorkbook.Name & ".txt" Open nom For Append As #1 Print #1, ThisWorkbook.Name & " Accedé le " & Format(Date, "ddd dd mmm yyyy") & " à " & Time _ & " par " & Environ("username") & " sur le pc "; Environ("COMPUTERNAME") Close #1 End If On Error GoTo 0 End Sub '----------------------- 'A placer également dans le module( si l'on souhaite l'heure de fermeture) '------------ Private Sub Workbook_BeforeClose(Cancel As Boolean) '------------ en modifiant "Accedé le" par "Ferme le"
PS: ne donne pas les onglets consultés -- Salutations JJ
"fabrice meunier" a écrit dans le message de news: 4fccbb8b$0$21578$
Bonjour,
Pour un fichier EXCEL disponible sur un répertoire partagé, est-il possible de connaître : - 1) le ou les postes qui ont ouvert ce fichier - 2) à quelle heure - 3) quels onglets ont été consultés - 4) combien de temps a t'il été consulté
Merci de votre réponse FM
--
Bonjour,
Une solution qui donne le "pc utilisé", "le nom de l'utilisateur", "la date" et "l'heure" d'acces
Il est placé dans un module standard et, est appelé à l'ouverture du classeur par "Call mouchard"
En adaptant "Repertoire" par le pc cible + l'emplacement du répertoire cible
A placer dans le classeur à surveiller
Le resultat la création d'un fichier .txt avec comme nom "Mouchard de" [nom du classeur].txt
'-------------------
Private Sub Workbook_Open()
Call mouchard
End Sub
'-----------------
Sub mouchard()
Dim Repertoire As String, nom As String
On Error Resume Next
Repertoire = "\le nom du pc ciblerepertoire1Mouchard" ' A adapter
If Dir(Repertoire, 16) = "" Then MkDir Repertoire
If Err = 0 Then
nom = Repertoire & "Mouchard de " & ThisWorkbook.Name & ".txt"
Open nom For Append As #1
Print #1, ThisWorkbook.Name & " Accedé le " & Format(Date, "ddd dd mmm yyyy") & " à " & Time _
& " par " & Environ("username") & " sur le pc "; Environ("COMPUTERNAME")
Close #1
End If
On Error GoTo 0
End Sub
'-----------------------
'A placer également dans le module( si l'on souhaite l'heure de fermeture)
'------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'------------
en modifiant "Accedé le" par "Ferme le"
PS: ne donne pas les onglets consultés
--
Salutations
JJ
"fabrice meunier" <serv.finances.chmortagne@wanadoo.fr> a écrit dans le message de news:
4fccbb8b$0$21578$ba4acef3@reader.news.orange.fr...
Bonjour,
Pour un fichier EXCEL disponible sur un répertoire partagé, est-il possible de connaître :
- 1) le ou les postes qui ont ouvert ce fichier
- 2) à quelle heure
- 3) quels onglets ont été consultés
- 4) combien de temps a t'il été consulté
Une solution qui donne le "pc utilisé", "le nom de l'utilisateur", "la date" et "l'heure" d'acces Il est placé dans un module standard et, est appelé à l'ouverture du classeur par "Call mouchard" En adaptant "Repertoire" par le pc cible + l'emplacement du répertoire cible A placer dans le classeur à surveiller Le resultat la création d'un fichier .txt avec comme nom "Mouchard de" [nom du classeur].txt '------------------- Private Sub Workbook_Open() Call mouchard End Sub '----------------- Sub mouchard() Dim Repertoire As String, nom As String On Error Resume Next Repertoire = "le nom du pc ciblerepertoire1Mouchard" ' A adapter If Dir(Repertoire, 16) = "" Then MkDir Repertoire If Err = 0 Then nom = Repertoire & "Mouchard de " & ThisWorkbook.Name & ".txt" Open nom For Append As #1 Print #1, ThisWorkbook.Name & " Accedé le " & Format(Date, "ddd dd mmm yyyy") & " à " & Time _ & " par " & Environ("username") & " sur le pc "; Environ("COMPUTERNAME") Close #1 End If On Error GoTo 0 End Sub '----------------------- 'A placer également dans le module( si l'on souhaite l'heure de fermeture) '------------ Private Sub Workbook_BeforeClose(Cancel As Boolean) '------------ en modifiant "Accedé le" par "Ferme le"
PS: ne donne pas les onglets consultés -- Salutations JJ
"fabrice meunier" a écrit dans le message de news: 4fccbb8b$0$21578$
Bonjour,
Pour un fichier EXCEL disponible sur un répertoire partagé, est-il possible de connaître : - 1) le ou les postes qui ont ouvert ce fichier - 2) à quelle heure - 3) quels onglets ont été consultés - 4) combien de temps a t'il été consulté
Merci de votre réponse FM
--
MichD
Bonjour,
Voici un fichier exemple. http://cjoint.com/?BFeuSm05UoL
À chaque fois que l'usager ouvre le classeur et change de feuille, l'information suivante est consignée dans un fichier .csv
- Nom de l'usager - Nom de la feuille - Heure à laquelle il a changé de feuille - Si la durée de consultation t'intéresse, quand tu ouvres ton fichier .csv dans Excel il ne te reste plus qu'à utiliser une petite formule dans la colonne à droite.
Et à chaque fois que l'usager ouvre le fichier, le fichier .csv indique l'heure d'ouverture.
Tout le code doit être inscrit dans le ThisWorkbook du classeur : Il ne te reste plus qu'à indiquer le chemin et nom du fichier .csv où l'information sera consignée dans la procédure "Sub Fichier_surveillé(Info As String)"
Au besoin, tu pourrais compliquer le tout en utilisant un fichier de macros complémentaires dans lequel tu insères un module de classe. Tu insères dans ce module de classe, l'équivalent de ce code et tu peux du même coup, exercer un certain contrôle sur tous les fichiers ouverts.
Dim Ouverture As String '------------------------------------------------------- Private Sub Workbook_Open() Ouverture = ";" & "Ouverture du fichier" Call Workbook_SheetActivate(ActiveSheet) End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim Texte As String
Texte = Environ("UserName") & ";" & Sh.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & Ouverture Call Fichier_surveillé(Texte) If Ouverture <> "" Then Ouverture = "" End Sub '------------------------------------------------------- Sub Fichier_surveillé(Info As String) Dim DestFile As String, X As Long
'*************************************************** 'Variable à définir - Lieu et nom du fichier .csv 'Où sont sauvegarder les données. DestFile = "c:UsersDenisDocumentsText1.csv" '*****************************************************
X = FreeFile If Dir(DestFile) <> "" Then Open DestFile For Append As #X Else Info = "Usager;Nom de la feuille;" & _ "Heure d'accès de la feuille;" & vbCrLf & Info Open DestFile For Output As #X End If Print #X, Info Close #X
End Sub '-------------------------------------------------------
Bonjour,
Voici un fichier exemple. http://cjoint.com/?BFeuSm05UoL
À chaque fois que l'usager ouvre le classeur et change de feuille,
l'information suivante est consignée dans un fichier .csv
- Nom de l'usager
- Nom de la feuille
- Heure à laquelle il a changé de feuille
- Si la durée de consultation t'intéresse, quand tu ouvres ton fichier .csv
dans Excel
il ne te reste plus qu'à utiliser une petite formule dans la colonne à
droite.
Et à chaque fois que l'usager ouvre le fichier, le fichier .csv indique
l'heure d'ouverture.
Tout le code doit être inscrit dans le ThisWorkbook du classeur :
Il ne te reste plus qu'à indiquer le chemin et nom du fichier .csv où
l'information
sera consignée dans la procédure "Sub Fichier_surveillé(Info As String)"
Au besoin, tu pourrais compliquer le tout en utilisant un fichier de macros
complémentaires
dans lequel tu insères un module de classe. Tu insères dans ce module de
classe, l'équivalent
de ce code et tu peux du même coup, exercer un certain contrôle sur tous les
fichiers ouverts.
Dim Ouverture As String
'-------------------------------------------------------
Private Sub Workbook_Open()
Ouverture = ";" & "Ouverture du fichier"
Call Workbook_SheetActivate(ActiveSheet)
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Texte As String
Texte = Environ("UserName") & ";" & Sh.Name & ";" & _
Format(Now(), "DD/MM/YYYY H:MM:SS") & Ouverture
Call Fichier_surveillé(Texte)
If Ouverture <> "" Then Ouverture = ""
End Sub
'-------------------------------------------------------
Sub Fichier_surveillé(Info As String)
Dim DestFile As String, X As Long
'***************************************************
'Variable à définir - Lieu et nom du fichier .csv
'Où sont sauvegarder les données.
DestFile = "c:UsersDenisDocumentsText1.csv"
'*****************************************************
X = FreeFile
If Dir(DestFile) <> "" Then
Open DestFile For Append As #X
Else
Info = "Usager;Nom de la feuille;" & _
"Heure d'accès de la feuille;" & vbCrLf & Info
Open DestFile For Output As #X
End If
Print #X, Info
Close #X
End Sub
'-------------------------------------------------------
Voici un fichier exemple. http://cjoint.com/?BFeuSm05UoL
À chaque fois que l'usager ouvre le classeur et change de feuille, l'information suivante est consignée dans un fichier .csv
- Nom de l'usager - Nom de la feuille - Heure à laquelle il a changé de feuille - Si la durée de consultation t'intéresse, quand tu ouvres ton fichier .csv dans Excel il ne te reste plus qu'à utiliser une petite formule dans la colonne à droite.
Et à chaque fois que l'usager ouvre le fichier, le fichier .csv indique l'heure d'ouverture.
Tout le code doit être inscrit dans le ThisWorkbook du classeur : Il ne te reste plus qu'à indiquer le chemin et nom du fichier .csv où l'information sera consignée dans la procédure "Sub Fichier_surveillé(Info As String)"
Au besoin, tu pourrais compliquer le tout en utilisant un fichier de macros complémentaires dans lequel tu insères un module de classe. Tu insères dans ce module de classe, l'équivalent de ce code et tu peux du même coup, exercer un certain contrôle sur tous les fichiers ouverts.
Dim Ouverture As String '------------------------------------------------------- Private Sub Workbook_Open() Ouverture = ";" & "Ouverture du fichier" Call Workbook_SheetActivate(ActiveSheet) End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim Texte As String
Texte = Environ("UserName") & ";" & Sh.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & Ouverture Call Fichier_surveillé(Texte) If Ouverture <> "" Then Ouverture = "" End Sub '------------------------------------------------------- Sub Fichier_surveillé(Info As String) Dim DestFile As String, X As Long
'*************************************************** 'Variable à définir - Lieu et nom du fichier .csv 'Où sont sauvegarder les données. DestFile = "c:UsersDenisDocumentsText1.csv" '*****************************************************
X = FreeFile If Dir(DestFile) <> "" Then Open DestFile For Append As #X Else Info = "Usager;Nom de la feuille;" & _ "Heure d'accès de la feuille;" & vbCrLf & Info Open DestFile For Output As #X End If Print #X, Info Close #X
End Sub '-------------------------------------------------------
MichD
J'ai omis une procédure à ajouter dans le ThisWorkbook du fichier
Fichier corrigé : http://cjoint.com/?BFexEeYrWlb
'---------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim Texte As String
Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fermeture du fichier" Call Fichier_surveillé(Texte) End Sub '----------------------------------
J'ai omis une procédure à ajouter dans le ThisWorkbook du fichier
Fichier corrigé : http://cjoint.com/?BFexEeYrWlb
'----------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Texte As String
Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _
Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fermeture du fichier"
Call Fichier_surveillé(Texte)
End Sub
'----------------------------------
J'ai omis une procédure à ajouter dans le ThisWorkbook du fichier
Fichier corrigé : http://cjoint.com/?BFexEeYrWlb
'---------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim Texte As String
Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fermeture du fichier" Call Fichier_surveillé(Texte) End Sub '----------------------------------
MichD
Un dernier complément au fichier : : http://cjoint.com/?BFfbRJeZG6D
Le code du ThisWorkbook :
Dim Ouverture As String Dim Fermeture As String Dim Ok As Boolean '--------------------------------------------------------- Private Sub Workbook_Activate() Dim Texte As String If Ok = True Then Else Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fichier est activé" Call Fichier_surveillé(Texte) End If Ok = False End Sub '--------------------------------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean)
Fermeture = ";Fermeture du fichier"
End Sub '--------------------------------------------------------- Private Sub Workbook_Deactivate() Dim Texte As String If Fermeture <> "" Then Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fermeture du fichier" Else Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fichier est inactif" End If Call Fichier_surveillé(Texte)
End Sub '--------------------------------------------------------- Private Sub Workbook_Open() Ok = True Ouverture = ";" & "Ouverture du fichier" Call Workbook_SheetActivate(ActiveSheet) End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim Texte As String
Texte = Environ("UserName") & ";" & Sh.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & Ouverture Call Fichier_surveillé(Texte) If Ouverture <> "" Then Ouverture = "" End Sub '--------------------------------------------------------- Sub Fichier_surveillé(Info As String) Dim DestFile As String, X As Long
'*************************************************** 'Variable à définir - Lieu et nom du fichier .csv 'Où sont sauvegarder les données. DestFile = "c:UsersDenisDocumentsText1.csv" '***************************************************** X = FreeFile If Dir(DestFile) <> "" Then Open DestFile For Append As #X Else Info = "Usager;Nom de la feuille;" & _ "Heure d'accès de la feuille;Statut du fichier" & vbCrLf & Info Open DestFile For Output As #X End If Print #X, Info Close #X End Sub '---------------------------------------------------------
Un dernier complément au fichier : : http://cjoint.com/?BFfbRJeZG6D
Le code du ThisWorkbook :
Dim Ouverture As String
Dim Fermeture As String
Dim Ok As Boolean
'---------------------------------------------------------
Private Sub Workbook_Activate()
Dim Texte As String
If Ok = True Then
Else
Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _
Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fichier est activé"
Call Fichier_surveillé(Texte)
End If
Ok = False
End Sub
'---------------------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Fermeture = ";Fermeture du fichier"
End Sub
'---------------------------------------------------------
Private Sub Workbook_Deactivate()
Dim Texte As String
If Fermeture <> "" Then
Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _
Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fermeture du fichier"
Else
Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _
Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fichier est inactif"
End If
Call Fichier_surveillé(Texte)
End Sub
'---------------------------------------------------------
Private Sub Workbook_Open()
Ok = True
Ouverture = ";" & "Ouverture du fichier"
Call Workbook_SheetActivate(ActiveSheet)
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Texte As String
Texte = Environ("UserName") & ";" & Sh.Name & ";" & _
Format(Now(), "DD/MM/YYYY H:MM:SS") & Ouverture
Call Fichier_surveillé(Texte)
If Ouverture <> "" Then Ouverture = ""
End Sub
'---------------------------------------------------------
Sub Fichier_surveillé(Info As String)
Dim DestFile As String, X As Long
'***************************************************
'Variable à définir - Lieu et nom du fichier .csv
'Où sont sauvegarder les données.
DestFile = "c:UsersDenisDocumentsText1.csv"
'*****************************************************
X = FreeFile
If Dir(DestFile) <> "" Then
Open DestFile For Append As #X
Else
Info = "Usager;Nom de la feuille;" & _
"Heure d'accès de la feuille;Statut du fichier" & vbCrLf & Info
Open DestFile For Output As #X
End If
Print #X, Info
Close #X
End Sub
'---------------------------------------------------------
Un dernier complément au fichier : : http://cjoint.com/?BFfbRJeZG6D
Le code du ThisWorkbook :
Dim Ouverture As String Dim Fermeture As String Dim Ok As Boolean '--------------------------------------------------------- Private Sub Workbook_Activate() Dim Texte As String If Ok = True Then Else Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fichier est activé" Call Fichier_surveillé(Texte) End If Ok = False End Sub '--------------------------------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean)
Fermeture = ";Fermeture du fichier"
End Sub '--------------------------------------------------------- Private Sub Workbook_Deactivate() Dim Texte As String If Fermeture <> "" Then Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fermeture du fichier" Else Texte = Environ("UserName") & ";" & ActiveSheet.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & ";Fichier est inactif" End If Call Fichier_surveillé(Texte)
End Sub '--------------------------------------------------------- Private Sub Workbook_Open() Ok = True Ouverture = ";" & "Ouverture du fichier" Call Workbook_SheetActivate(ActiveSheet) End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim Texte As String
Texte = Environ("UserName") & ";" & Sh.Name & ";" & _ Format(Now(), "DD/MM/YYYY H:MM:SS") & Ouverture Call Fichier_surveillé(Texte) If Ouverture <> "" Then Ouverture = "" End Sub '--------------------------------------------------------- Sub Fichier_surveillé(Info As String) Dim DestFile As String, X As Long
'*************************************************** 'Variable à définir - Lieu et nom du fichier .csv 'Où sont sauvegarder les données. DestFile = "c:UsersDenisDocumentsText1.csv" '***************************************************** X = FreeFile If Dir(DestFile) <> "" Then Open DestFile For Append As #X Else Info = "Usager;Nom de la feuille;" & _ "Heure d'accès de la feuille;Statut du fichier" & vbCrLf & Info Open DestFile For Output As #X End If Print #X, Info Close #X End Sub '---------------------------------------------------------
HD
Par contre, pour que ces macros fonctionnent, il faut bien sûr que l'utilisateur ai ses macros d'activés. Pour forcer l'utilisateur à activer ses macros, à la fermeture du classeur je fais cacher toutes les feuilles du classeur sauf la feuille "Lisez moi" qui contient la procédure d'utilisation du classeur. Ainsi, lorsqu'un utilisateur ouvre le classeur si ses macros sont désactivées il ne verra que la feuille "Lisez moi" où il sera expliqué qu'il lui faut activer les macros... ce qu'il fera pour pouvoir avoir les feuilles de travail.
@+ HD
Par contre, pour que ces macros fonctionnent, il faut bien sûr que
l'utilisateur ai ses macros d'activés. Pour forcer l'utilisateur à activer
ses macros, à la fermeture du classeur je fais cacher toutes les feuilles du
classeur sauf la feuille "Lisez moi" qui contient la procédure d'utilisation
du classeur. Ainsi, lorsqu'un utilisateur ouvre le classeur si ses macros
sont désactivées il ne verra que la feuille "Lisez moi" où il sera expliqué
qu'il lui faut activer les macros... ce qu'il fera pour pouvoir avoir les
feuilles de travail.
Par contre, pour que ces macros fonctionnent, il faut bien sûr que l'utilisateur ai ses macros d'activés. Pour forcer l'utilisateur à activer ses macros, à la fermeture du classeur je fais cacher toutes les feuilles du classeur sauf la feuille "Lisez moi" qui contient la procédure d'utilisation du classeur. Ainsi, lorsqu'un utilisateur ouvre le classeur si ses macros sont désactivées il ne verra que la feuille "Lisez moi" où il sera expliqué qu'il lui faut activer les macros... ce qu'il fera pour pouvoir avoir les feuilles de travail.
@+ HD
MichD
Bien sûr! J'ai déjà mis en ligne un fichier sur le sujet.
Cela dit, la sécurité dans Excel comme dans la grande partie des logiciels n'est pas sans failles pour les pirates.
Bien sûr! J'ai déjà mis en ligne un fichier sur le sujet.
Cela dit, la sécurité dans Excel comme dans la grande partie des logiciels
n'est pas sans failles pour les pirates.
Bien sûr! J'ai déjà mis en ligne un fichier sur le sujet.
Cela dit, la sécurité dans Excel comme dans la grande partie des logiciels n'est pas sans failles pour les pirates.
HD
Bien sûr! J'ai déjà mis en ligne un fichier sur le sujet.
ah... le sujet pourrait m'intéresser. Où peut on le trouver ?
Cela dit, la sécurité dans Excel comme dans la grande partie des logiciels n'est pas sans failles pour les pirates.
Justement... dans la procédure que j'ai crée j'ai trouvé une faille... Il suffit d'enregistrer sous le classeur à un format différent de celui enregistré au préalable pour qu'à la fermeture le classeur ne cache pas ses feuilles (dans l'événement Workbook close).
@+ HD
Bien sûr! J'ai déjà mis en ligne un fichier sur le sujet.
ah... le sujet pourrait m'intéresser. Où peut on le trouver ?
Cela dit, la sécurité dans Excel comme dans la
grande partie des logiciels n'est pas sans failles
pour les pirates.
Justement... dans la procédure que j'ai crée j'ai trouvé une faille... Il
suffit d'enregistrer sous le classeur à un format différent de celui
enregistré au préalable pour qu'à la fermeture le classeur ne cache pas ses
feuilles (dans l'événement Workbook close).
Bien sûr! J'ai déjà mis en ligne un fichier sur le sujet.
ah... le sujet pourrait m'intéresser. Où peut on le trouver ?
Cela dit, la sécurité dans Excel comme dans la grande partie des logiciels n'est pas sans failles pour les pirates.
Justement... dans la procédure que j'ai crée j'ai trouvé une faille... Il suffit d'enregistrer sous le classeur à un format différent de celui enregistré au préalable pour qu'à la fermeture le classeur ne cache pas ses feuilles (dans l'événement Workbook close).