VBA: Obtenir le nom d'utilsateur d'un fichier en lecture seule

jibdu64

XLDnaute Nouveau
Bonjour,

voila mon application Excel alimente des plannings Excel présents sur le réseau.
Or, quand ceci sont déjà ouverts par d'autres personne, il n'est pas possible de les alimenter.

Dans mon code, je détecte si le fichier est en lecture seule, et si oui, j'envoi un msgbox disant que le fichier est déjà ouvert. Cependant, j'aimerais intégrer dans mon code le nom d'utilisateur de la personne qui est dessus, pour pouvoir la contacter. Voici mon code:

Ouverture du classeur annuel
Workbooks.Open Filename:=chemindoss & Annee & "\" & centre & "\" & fichier & ".xlsx"

If Workbooks(fichier).ReadOnly = True Then
ActiveWorkbook.Close (False)

fdsfs = MsgBox("Le planning de " & ComboBox26.Value & " est deja ouvert par un autre utilisateur :" )
End if



Mon code detecte bien si le fichier est en lecture seule mais je n'arrive pas a lui donner le nom de la personne qui l'ouvre. J'ai essayé Application.UserName mais pas moyen.

Pourtant lorsqu'on ouvre manuellement le fichier Excel, un message apparait donnant notamment le nom de la personne qui l'utilise...

Pourriez vous m'aider ?

Merci d'avance
 

mutzik

XLDnaute Barbatruc
Re : VBA: Obtenir le nom d'utilsateur d'un fichier en lecture seule

bonjour,

comme dit dans un autre fil, je crée un fichier log que j'active sur l'évenement worbook.open

Sub ExportTxtChamp()
dim repertoire, data
repertoire = ThisWorkbook.Path
Open repertoire & "\log.txt" For Output As #1
data = now & ";" & environ("username") & ";" & environ("computername")
Print #1, data
Close #1
End Sub
 

jibdu64

XLDnaute Nouveau
Re : VBA: Obtenir le nom d'utilsateur d'un fichier en lecture seule

J'ai déjà un log pour mon appli Excel principal, mais je n'ai pas un log pour chaque planning Excel !
Je ne detecte donc pas tout les ouvertures des fichiers Excel plannings !!

Pourquoi ? pcq il faudra qu'ils appuie sur 'activer le contenu' pour chaque ouverture d'un planning (il en existe 50)ce qui n'a aucun intérêt pour eux.

Donc merci, mais je pense que ton idée ne convient pas a mon besoin !
 

mutzik

XLDnaute Barbatruc
Re : VBA: Obtenir le nom d'utilsateur d'un fichier en lecture seule

re, ben sinon écris cette info dans une feuille de ton fichier et va lire la dernière info

l'autre option si c'est un fichier réseau c'est de demander l'admin par qui ce fichier a été ouvert
mais pourquoi faire compliqué ...
 

Discussions similaires