Noter le user ayant ouvert/apporté des modifications a un Excel partagé

Hello :) ,

Alors j'ai un souci depuis longtemps déja , j'ai un fichier sur le reseau qui est partagé avec des collegues , sauf que ce dernier des fois quitte du mode partagé a non partagé tout seul ( comme un bug) du coup ca me propose ouvrir en lecture seule.

Déja est ce que ca vous est deja arrivé ? je pense c'est un probleme réseau?

Mon sujet

On veut une liste des des derniers utilisateurs du fichier pour isoler le probleme et voir qui potentiellement se connecte mal au reseau


J'avais pensé a creer dans le fichier une macro (je desactive le mode partagé le temps de créer la macro)

La macro est censée noter les noms des 2 dernieres personnes ayant ouvert ou modifié le fichier dans une sheet lambda

Sauf que je ne sais pas comment conditionné dans le code le fait qu'un utilisateur modifie le fichier excel et du coup noter son nom a cet instant avec le temps, pour justement ecraser et ne garder que le plus recent a chaque fois

Voici un debut du code ( sauf qu'il n'est pas autonome , lídee serait de le declencher a chaque fois que quelqu'un ouvre le fichier partgé ou y apporte des modifications)

Sub UsersList()
Application.DisplayAlerts = False 'messages excel

Dim Users, Msg As String, Status As String, i As Integer

Users = Thisworkbook.UserStatus

For i = 1 To UBound(Users, 1)
Msg = Msg & Users(i, 1) & " " & Format(Users(i, 2), "dd/mm/yy h:mm") & ""

If Users(i, 3) = 1 Then

Status = "(Exclusive mode)"

Else

Status = "(Shared mode)"

Msg = Msg & Status & vbLf
End If

Next i

MsgBox Msg, 64

sheets("Users").range("A1").value= Msg

Application.DisplayAlerts = True 'messages excel
End Sub

Merci beaucoup d'avance !

Bonjour et bienvenue,

mets ton code en utilisant la balise </> pour plus de lisibilité

voici une solution que j'ai gardée, mais tout n'est pas complètement protégé

Private Sub Workbook_Open()
    Open ThisWorkbook.Path & "\Spy.txt" For Append As #1
    Print #1, Application.UserName, ThisWorkbook.Name, Now
    Close #1
End Sub

tu auras l'activité dans un fichier texte

Simple et efficace ! Merci deja Steelson

le seul souci que j'ai avec Application.username c'est qu'on utilise des machines virtuelles mais on a bien tous des sessions a nos noms dans ces machines virtuelles , sauf qu 'en utilisant application.username ca va me renvoyer un truc du genre TPML-Win7 quelque soit la personne.

j'ai entendu parler de "ENVIRON", je vais essayer de voir si c'est possible de coupler avec ta solution

Ok Super , en remplacant Application.username dans ta solution (ou en completant) par Environ("LocalAppData") ca renvoie dans le fichier txt le nom du chemin qui, si on utilise des machines virtuelles, contient notre nom ou notre identifiant , Exemple : C:\Users\Rona34iTrade\AppData\Local

Merci encore ;)

Merci pour l'astuce

N'oublie de clore le fil de discussion en cliquant sur

Rechercher des sujets similaires à "noter user ayant ouvert apporte modifications partage"