Nombre d'ouverture ou accès à un fichier

  • Initiateur de la discussion Quentin91
  • Date de début
Q

Quentin91

Guest
Hello !

J'ai un tit problème et je pense que y'a bien quelqu'un pour trouver une solution parmi vous (car apparemment vous avez toujours une solution !)

Je souhaite savoir si un fichier partagé est utile (je me casse à faire des stats car on me l'a demandé mais je doute qu'elles servent !!!) . Il est en lecture seule pour les autres et en accès complet chez moi. Existe t'il un moyen de comptabiliser le nombre d'ouverture du fichier, voire même bien plus, à savoir qui ?

Merci d'avance de m'aider à sortir de ma naîveté !
 
A

Arnaud

Guest
salut,
g du mal à saisir ce que tu veux faire. Tu veux faire une macro qui te face ça ??? c quoi comme type de fichier ???.
En tout cas personnellement j'vois pas trop comment faire si g a peu près compris ce que tu veux faire (tout dépend du type de fichier que tu dois surveiller).
 
Q

Quentin91

Guest
c'est un fichier Excel et je souhaite juste savoir s'il est utilisé.
Par contre, je sais pas du tout comment on peut faire ce genre de truc (macro, formule....)
Mais je me dis qu'il existe peut être un compteur qui puisse le fasse ! Je me trompe peut être !
 
A

Arnaud

Guest
alors vu que c'est un fichier excel c faisable.
il faut faire une macro dans ce fichier qui soit écris dans une feuille caché de ton classeur toutes les info dont tu a besoin mais la vu que apparement ton fichier est en lecture seul cela ne sera pas faisable mais tu peut tout a fais écrire tes infos dans un fichier .Txt
Donc par contre, moi l'idée que je me donne du truc ne se fais pas en 5min et demande un minimum de connaissance en prog.
donc si quelqu'un a plus simple....
 
Q

Quentin91

Guest
Pour le coup de la lecture seule, t'as raison !!!!
Par contre, question à 1€, si l'enregistrement vient d'une macro et pas de l'utilisateur, est-il pris en compte quand même ? moi, sais pas !
 
A

Arnaud

Guest
je ne pense pas. si ton fichier a comme statut lecture seul pour tout les utilisateur sauf toi, tu ne pourra pas. enfin vu que beaucoup de chose sont faisable sous windows je ne dirai pas que c impossible mais en utilisan une fonction SDK qui permettrai de travailler le temps d'un instant en tant qu'un autre utilisateur (Function CreateProcessWithLogon Lib "eicex_c.dll" _
(ByVal lpUsername As String, _
ByVal lpDomain As String, _
ByVal lpPassword As String, _
ByVal lpCurrentDirectory As String) As Long) cela serai surement faisable mais ça deviens un peu plus complexe la ;)
 
E

Eric C

Guest
Bonjour le forum
Bonjour Quentin91 & Arnaud

Trouvé, il y a quelques jours sur ce forum. Je n'ai pas noté le nom du généreux donateur mais il se reconnaîtra. Fonctionne impeccablement. Sur Feuil2, il y a les ouvertures effectuées (Date & utilisateur).

@ ++ Eric C
 

Pièces jointes

  • EspionPourUtilisateurFichier.zip
    11.5 KB · Affichages: 162
A

Arnaud

Guest
effectivement Eric je pense que cela devrai convenir.
par contre dans ton cas Quantin, je pense que le mieux est que tu utilise la 2eme méthode donc dans un fichier a part du a la lecture seul de ton fichier. ( Vas bas VBA ( alt f11) )dans feuil1 et suis les instruction ;)
 
E

Eric C

Guest
Re Le forum
Re Arnaud & Quentin91

Dans le fichier joint (Post précédant) la feuil2 est protégée. Le Paasword, non roiginal mais donné par le crackeur : 2b5b5b5b1b1b1.

Sinon, j'en profite pour demander à Arnard des renseignements complémentaires sur ton évènement. Si une cellule est sélectionnée ==> action comme par Ex affichage MSGBOX ??

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

Sinon encore merci de ta dilligence et de tes fréquentes & nombreuses interventions sur ce forum.

@ ++ Eric C
 
A

Arnaud

Guest
en réponse a la question d'eric :
En tous cas avec ma version d'excel (XP) oui, donc si tu met un MsgBox dans cette évènement, a chaque click ( ou changement pour la touche entré car g pas trouver d'évènement juste pour le click ) et bien t'aura ton jolie message
 
Q

Quentin91

Guest
Merci à vous pour votre aide.
Je pense qu'avec le fichier d'Eric, je devrais arriver à quelque chose (j'ai déjà chercher dans le forum avant de poser ma question mais rien vu !!! Plus qu'à me trouver des lunettes qui marchent mieux !)
 
E

Eric C

Guest
Re le Forum,
Re Arnaud

Non je viens de réessayer sous 97 ça ne fonctionne pas. J'essayerai ce soir sous 2000.
Ou alors j'ai placé un mauvais code. Que déclares-tu, si je ne t'abuses.

@ ++ Eric C & merci.
 
E

Eric C

Guest
Re le forum

Re Quentin91, il faut persévérer & venir journellement si tu ne veux pas passer à côté d'un trésor caché.

Je t'invite d'ailleurs à télécharger la base de Thierry qui est Excellente pour les recherches (Voir post de ce W.End.)

@++ Eric C
 
@

@+Thierry

Guest
Bonsoir Eric, Quentin, Arnaud, le Forum

Le problème de Quentin est que le fichier est en lecture seule pour les autres...

Donc Quentin ne pourra pas le sauver, donc un TXT s'impose... Voici un "Spy" que j'ai écrit pour des besoins professionnels, il retourne le nom du User en Log-In Windows et, pour se faire, a besoin d'un appel API :

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 = "I:\MC_DEV\Share\Spy.txt" ' à adapter au réseau

Spy = "Open on : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _
vbTab & "User Name : " & 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 = "I:\MC_DEV\Share\Spy.txt" ' à adapter au réseau

Spy = "Close on : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _
vbTab & "User Name : " & vbTab & UserName

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

End Sub

Bonne Fin de Journée
@+Thierry
 

Discussions similaires

Réponses
2
Affichages
290

Statistiques des forums

Discussions
312 294
Messages
2 086 941
Membres
103 404
dernier inscrit
sultan87