Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

qui utilise le fichier

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

guigui76

XLDnaute Occasionnel
Bonjour,

après une matinée de recherche sans résultat, je viens voir vous pour une piste.

Nous utilisons plusieurs fichiers excel en reseaux que différentes personnes peuvent ouvir dans la journée.
Pour éviter le désagrément du "fichier en lecture seul"
Je pensais que c'était réalisable de connaitre le nom de l'utilisateur maitre.

Merci et bonne journée

je continue ma recherche
 
Re : qui utilise le fichier

Bonjour.
Je vous suggère de voir d'abord si le mettre en classeur partagé apporterait plus d'avantages que d'inconvénients.
Sinon, il me semble que l'UserName de celui qui verrouille le classeur est déjà affiché, lorsqu'on demande à être notifié de sa disponibilité. On pourrait aller plus loin, avec de la programmation utilisant un fichier annexe. Selon la nature et l'organisation des données, cela pourrait aller jusqu'à une mise à jour à quelques secondes d'intervalle de l'information sur tous les postes.
À +
 
Re : qui utilise le fichier

Voici une solution, elle n'est peut être pas idéal mais elle fonction
Si le fichier n'est pas en lecture seul alors j'écris en A1048576 le nom de l'utilisateur et sauvegarde du fichier.
et si le fichier et en lecture seul alors je lis la valeur de A1048576 dans une MSGBOX
ce qui donne:
Code:
Private Sub Workbook_Open()
Dim users, msg As String, status As String, i As Integer



If ActiveWorkbook.ReadOnly = True Then
noms = Sheets("Colonne").Range("A1048576").Value
MsgBox noms
Else
users = ThisWorkbook.UserStatus
For i = 1 To UBound(users, 1)
msg = msg & users(i, 1) & " " & "utilise le fichier depuis " & Format(users(i, 2), "h:mm") & " "
If users(i, 3) = 1 Then status = "(Exclusive mode)" Else status = "(Shared mode)"
Sheets("Colonne").Range("A1048576") = msg '& status & vbLf
Next
ActiveWorkbook.Save
End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…