007, espionner

altinea

XLDnaute Accro
:D :D bonsoir le forum, est'il possible de programmer dans un classeur un systeme qui puisse m'informer sur le nombre d'utilisation de celui ci et savoir qui est venu pour le voir? merci de votre aide:D :eek:
 

piwa

XLDnaute Occasionnel
Re : 007, espionner

bonjour des fois que cela puisse vous aider....

Voila un code inspiré de ce forum qui me permet de suivre l'utilisation de fichier sur 250 utilisateurs environs............
J'ai un fichier Log unique avec des feuilles tracexxx pour chaqun des fichiers que je souhaite mettreen observation.....

Private Sub Workbook_Open()
Dim Wb As Workbook
Dim a As Long
'Traceur d 'ouverture de Fichier Utilisateur + Date + Heure ds Fichier Log.xls Externe

' Ouvrir le fichier Histo (attention chemin)
Application.ScreenUpdating = False 'Masquer l'affichage
Set Wb = Workbooks.Open(Filename:="S:\Echange\Pilotage ADLR\Suivi ADLR\temppiwa\LogSuivi.xls")

a = Wb.Sheets("TraceADLR").Range("A65536").End(xlUp).Row + 1

Wb.Sheets("TraceADLR").Range("A" & a).Value = Application.UserName
Wb.Sheets("TraceADLR").Range("B" & a).Value = VBA.Date
Wb.Sheets("TraceADLR").Range("C" & a).Value = Now - Int(Now)

'Fermer en sauvegardant les modifications
Wb.Close True
Application.ScreenUpdating = True 'Retablir l'affichage


End Sub

Piwa @+
 

piwa

XLDnaute Occasionnel
Re : 007, espionner

altinea à dit:
bonjour le forum, piwa, donc si je comprends bien en suivant ton exemple je crée une feuille qui s'appelle "traceADLR", une partie dans le "workbook" et l'autre dans le before????

Re

tu crees un fichier LogSuivi.xls avec une feuille avec le nom TraceADLR (dans mon exemple) .
tu le mets dans un chemin commun a tous tes utilisateurs (en terme reseau)

ensuite tu adapte le code transmis avec ton chemin , ton nom de fichier log et ta feuille trace dans fichier log...

tu places le codes dans thisworkbook du fichier que tu veux suivre....

tu enregistres tu fermes et tu reouvres..... ensuite tu vas dans ton fichier log et tu retrouves tes infos.....

@+
 

altinea

XLDnaute Accro
Re : 007, espionner

bonjour le forum, piwa, j'ai fait comme tu m'as expliqué, j'ai crée un fichier , j'ai bien nommée la feuille dans le fichier j'ai collée le code, mais j'ai une erreur de compilation sur cette ligne
a = Wb.Sheets("TraceADLR").Range("A65536").End(xlUp).R ow + 1
que me faut'il faire, je pense que je m'approche mais sans aide je vais pas avancer merci
 

altinea

XLDnaute Accro
Re : 007, espionner

re bonjour en fait voici l'ensmble du code se sera peu etre plus parlant et explicite, merci encore


Private Sub Workbook_Open()
Sheets("Accueil").Activate
CompteARebours
Sheets("tableau general").Visible = xlSheetVeryHidden
Dim Wb As Workbook
Dim a As Long
'Traceur d 'ouverture de Fichier Utilisateur + Date + Heure ds Fichier Log.xls Externe

' Ouvrir le fichier Histo (attention chemin)
Application.ScreenUpdating = False 'Masquer l'affichage
Set Wb = Workbooks.Open(Filename:="c:\31122006\LogSuivi.xls")

a = Wb.Sheets("TraceADLR").Range("A65536").End(xlUp).R ow + 1

Wb.Sheets("TraceADLR").Range("A" & a).Value = Application.UserName
Wb.Sheets("TraceADLR").Range("B" & a).Value = VBA.Date
Wb.Sheets("TraceADLR").Range("C" & a).Value = Now - Int(Now)

'Fermer en sauvegardant les modifications
Wb.Close True
Application.ScreenUpdating = True 'Retablir l'affichage
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("tableau general").Visible = xlSheetVeryHidden
End Sub
 

piwa

XLDnaute Occasionnel
Re : 007, espionner

Desolé mais je ne suis peut etre pas clair.... c souvent le cas .....

Je reprends calmement :
1 Tu crees un fichier XL tout simple qui tu appeles Log.xls
2 Tu nomes une des feuilles de ce classeur Trace
3 Tu l'enregistres sous C:\Temp\
4 tu as ton fichier Log.xls sous temp avec une feuille qui se nomme Trace
Etape 1 terminé

Etape 2
1 Tu ouvres ton fichier que tu veux surveiller
2 Alt F11 puis thisworkbook
3 tu colles le code ci dessous

Private Sub Workbook_Open()
' Traceur d 'ouverture de Fichier Utilisateur + Date + Heure ds Fichier Log.xls Externe
' Acitvation des macros OBLIGATOIRE
' © Piwa6291 23/11/2006

Dim Wb As Workbook
Dim a As Long
' Ouvrir le fichier Histo (attention chemin)
Application.ScreenUpdating = False 'Masquer l'affichage
Set Wb = Workbooks.Open(Filename:="C:\Temp\Log.xls")

a = Wb.Sheets("Trace").Range("A65536").End(xlUp).Row + 1

Wb.Sheets("Trace").Range("A" & a).Value = Application.UserName
Wb.Sheets("Trace").Range("B" & a).Value = VBA.Date
Wb.Sheets("Trace").Range("C" & a).Value = Now - Int(Now)

'Fermer en sauvegardant les modifications
Wb.Close True
Application.ScreenUpdating = True 'Retablir l'affichage

End Sub

Ps : ca tourne sous XL 2003

a te lire...........
 

piwa

XLDnaute Occasionnel
Re : 007, espionner

Avec plaisir altinea ......

Et pour moi une "petite satisfaction" aussi car je viens pour une des premieres fois à rendre service .. comme d'autre ont su le faire pour moi.............. ici même.

@+
 

altinea

XLDnaute Accro
Re : 007, espionner

bon week en a vous tous, pour ma part je continue mes recherches et mes demandes, cela me permet effectivement d'acquerir et de comprendre certains principes de vba. quoi qu'il en soit la formation ou l'information a distance n'est pas chose facile. Et je remerci toutes les personnes qui font l'effort comme ce que tu as fait de poursuivre malgré l'insistance parce que lorsqu'on débute on ne comprends pas forcément. Ce qui est clair pour les uns ne l'est pas forcément pour les autres.
merci encore PIWA et j'espère que bientot je pourrais a mon tour rendre ce merveilleux service que d'expliquer à d'autres ce que le forum m'a appris.
 

CB60

XLDnaute Barbatruc
Re : 007, espionner

Bonjour à tous
Piwa j'ai ajouter les deux lignes en bleu sur ta macro, cela permet de la mettre dans plusieurs classeurs et d'avoir un seul fichier récap avec le nom des classeurs ouverts.


Private Sub Workbook_Open()
' Traceur d 'ouverture de Fichier Utilisateur + Date + Heure ds Fichier Log.xls Externe
' Acitvation des macros OBLIGATOIRE
' © Piwa6291 23/11/2006
Dim Wb As Workbook
Dim a As Long
monClasseur = ActiveWorkbook.Name
' Ouvrir le fichier Histo (attention chemin)
Application.ScreenUpdating = False 'Masquer l'affichage
Set Wb = Workbooks.Open(Filename:="C:\Log.xls")
a = Wb.Sheets("Trace").Range("A65536").End(xlUp).Row + 1
Wb.Sheets("Trace").Range("A" & a).Value = Application.UserName
Wb.Sheets("Trace").Range("B" & a).Value = VBA.Date
Wb.Sheets("Trace").Range("C" & a).Value = Now - Int(Now)
Wb.Sheets("Trace").Range("d" & a).Value = monClasseur
'Fermer en sauvegardant les modifications
Wb.Close True
Application.ScreenUpdating = True 'Retablir l'affichage
End Sub
 

piwa

XLDnaute Occasionnel
Re : 007, espionner

Bjr CB60,

Bien vu cela permet d'avoir un seul fichier trace avec l'info du fichier source ... en fait plus facile a deployer que mon truc car j'avais une feuille par fichier source .....

Merci je prneds et j'adopte plus simple pour de la demultiplication massive !!!!!!

@+
 

altinea

XLDnaute Accro
Re : 007, espionner

bonjour le forum, le fil,
CB60, à la place de
monClasseur = ActiveWorkbook.Name
ex : altinea.xls=activeworkbook.Name

Wb.Sheets("Trace").Range("d" & a).Value = monClasseur
ex : altinea.xls


Est ce que j'ai bien compris, ou bien faut'il laisser telquel et ajouter dnas le vba du classeur concerné et automatiquement ca va s'inscrire dans le fichier, ou chaque fois que je veux un classeur je dois changer le nom dans le vba afin qu'il soit identifié dna sle fichier de recup??,
merci
 

Discussions similaires

Réponses
20
Affichages
303
Réponses
24
Affichages
640
Réponses
15
Affichages
334

Membres actuellement en ligne

Statistiques des forums

Discussions
312 677
Messages
2 090 824
Membres
104 677
dernier inscrit
soufiane12