Savoir quelle personne utilise le fichier si je suis en lecture seule

timon

XLDnaute Nouveau
Bonjour le forum,

Sur un fichier A j'ai une macro qui ouvre un second fichier B pour y faire un copier-coller. Ce second fichier B étant consultable par tout le monde je veux mettre un message d'erreur pour :
Si lors de l'execution de la macro du fichier A le fichier B est déjà ouvert par quelqu'un alors une Msgbox affiche :
"Le fichier B est utilisé par XXXXX contactez le pour qu'il le ferme".

Je sais que Userstatus permet de savoir quelle personne utilise un fichier cependant cette fonction ne marche pas si on est en lecture seule.

Voilà ce que j'ai coder mais qui ne focntionne pas :

Code:
Workbooks.Open Filename:=Sheets("Remplir").Range("U34")
While ActiveWorkbook.ReadOnly = True
    If MsgBox("Le fichier est en cours d'utilisation" & Chr(10) & "Contactez" & ActiveWorkbook.UserStatus & "afin qu'elle sorte du fichier" & Chr(10) & "Si vous n'arrivez pas à les contacter cliquez sur Abandonner, un mail sera envoyé à la personne en charge du process afin que le fichier soit mis à jour manuellement", vbRetryCancel, "Fichier en lecture seul") = vbCancel Then
    ActiveWorkbook.Close
    Sheets("Afficher-Valider").Select
    envoimaillectseul
    Range("C1").Select
    Sauvegarde
    Exit Sub
    End If
    
    ActiveWorkbook.Close
    Workbooks.Open Filename:=Sheets("Remplir").Range("U34")
Wend

J'ai beaucoup cherché et je retombe toujours sur la fonction Userstatus qui ne fonctionne que si l'on est sur le fichier en mode écriture.

Si quelqu'un à une idée ou une astuce je suis preneur.

Merci d'avance
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Savoir quelle personne utilise le fichier si je suis en lecture seule

Bonjour Timon ,

Le fichier B en question a-t-il des macros ?

Si oui , tu peux enregistrer le username de la personne à l'ouverture dans un fichier txt et le supprimer lorsque la personne sort .
 

timon

XLDnaute Nouveau
Re : Savoir quelle personne utilise le fichier si je suis en lecture seule

Bonjour camarchepas,

Merci pour ta réponse mais en fait le fichier B ne contient pas de macro et j'aimerai qu'il reste sans macro.
PArceque effectivement sinon je pourrai passer par un fichier txt ou alors j'ai aussi vu qu'en mettant un save automatique du fichier B à son ouverture je pouvais utiliser le BuiltinDocumentProperties(7) dans la macro du fichier A qui me donne le login de la dernière personne à avoir sauvegardé.

Cependant cela serait plus simple pour les utilisateurs d'avoir un fichier B sans macros.

Merci
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87