detecter qui utilise un fichier excel...

romainchu78

XLDnaute Occasionnel
bonsoir a tous,
jai cree une macro qui sera utilise par plusieurs personnes. je souhaiterais savoir comment faire updater une liste avec le nom de l'utilisateur qui ouvrira le fichier.

jai pense a faire une macro auto qui s'active automatiquement des que quelqu'un ouvre le fichier et copie le nom d'utilisateur et l'heure a laquelle le fichier a ete ouvert. mais y a t'il un moyen plus simple?

C'est pour savoir si le fichier est utilise et par qui?
merci d'avance
 

romainchu78

XLDnaute Occasionnel
Re : detecter qui utilise un fichier excel...

Ok effectivement j'ai une partie de ma reponse.
jaurais besoin cependant de quelque precisions:
- Comment activer une macro automatiquement a l'ouverture du fichier.
- Comment cacher une feuille excel une fois creee manuellement (C'est a dire, quelle n'apparaisse que dans l'editeur visual basic).

Je me permet de montrer le code bien utile:

Sub espion()
cefichier = ActiveWorkbook.Name
chemin = ActiveWorkbook.Path
nomfichier = chemin & "\" & cefichier
Sheets("Donnees").Select
Range("A2").Select
ActiveCell.Offset(0, 0).Value = Application.UserName
ActiveCell.Offset(0, 1).Value = anciennomfichier
ActiveCell.Offset(0, 2).Value = Date
ActiveCell.Offset(0, 3).Value = Time
End Sub

Mon autre question, d'apres ce code, si la meme personne ouvre le fichier le meme jour alors seulement la date et l'heure sont mis a jour et en fait je souhaiterais qu'une nouvelle ligne soit cree. par exemple si monsieur x ouvre son fichier a 18:02 puis le reouvre a 19:52. je souhaiterais avoir au final deux lignes avec le meme nom et le meme date mais avec une heure differente.


Merci a tous et bonne soiree.
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Re : detecter qui utilise un fichier excel...

Bonjour

ton code devrait être plus efficace ainsi
Sub espion()
With ThisWorkbook.Sheets("Donnees").Range("A65536").End(xlUp).Offset(1, 0)
.Value = Application.UserName
.Offset(0, 1).Value = ThisWorkbook.FullName
.Offset(0, 2).Value = Date
.Offset(0, 3).Value = Time
End With
End Sub
regarde du coté de thisworkbook, il y a des différences notables avec active workbook

Cordialement, A+
 

Eric 45

XLDnaute Occasionnel
Re : detecter qui utilise un fichier excel...

Bonjour

Un peu modifié :

Private Sub Workbook_Open()
cefichier = ActiveWorkbook.Name
chemin = ActiveWorkbook.Path
nomfichier = chemin & "\" & cefichier
Sheets("Donnees").range("a1").end(xldown).Offset(1, 0)Select
ActiveCell.Offset(0, 0).Value = Application.UserName
ActiveCell.Offset(0, 1).Value = nomfichier
ActiveCell.Offset(0, 2).Value = Date
ActiveCell.Offset(0, 3).Value = Time
End Sub

A+
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Re : detecter qui utilise un fichier excel...

Bonjour

voila le fichier, j'avais oublié un truc tout bète, sauvegarder le fichier pour garder l'historique

A+
Private Sub Workbook_Open()
With ThisWorkbook.Sheets("Donnees").Range("A65536").End(xlUp).Offset(1, 0)
.Value = Application.UserName
.Offset(0, 1).Value = ThisWorkbook.FullName
.Offset(0, 2).Value = Date
.Offset(0, 3).Value = Time
End With
ThisWorkbook.Save
End Sub
Regarde la pièce jointe exemple.xls
 

Pièces jointes

  • exemple.xls
    22.5 KB · Affichages: 188
  • exemple.xls
    22.5 KB · Affichages: 182

Discussions similaires

Réponses
13
Affichages
377
Réponses
2
Affichages
324

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 758
dernier inscrit
JACQUOT33