Vérification lecture seule - Fichier sur réseau
Bonjour à tous,
Dans une de mes macros, j'ouvre un fichier Excel pour l'alimenter, puis je le sauvegarde et le quitte. Par sécurité je teste avant si le fichier n'est pas en lecture seule. Le code que j'ai trouvé sur le net fonctionne très bien chez moi en local, et dans mon entreprise lorsque j'ouvre moi même le fichier. Cependant si un collègue ouvre le fichier, le code que j'ai ne détecte pas la lecture seule. Est-ce que l'un d'entre-vous saurait me dire si j'ai zappé quelque chose ? Le but est d'avoir l'alerte et le nom du l'utilisateur en cours pour lui demander la fermeture.
Voici mon code:
Sub Enregistrement()
'Déclaration des variables
Dim Fichier As String
Dim Dossier As String
Dim Chemin As String
Dim User As String
Dim Vérification As Boolean
Dim NuméroFichier As Long
Dim NuméroErreur As Long
'****Vérification disponibilité du tableau de suivi des audits****
'Définition du chemin
Fichier = "ER-QAL-004-R02 - Planning d'Audits Qualité" & ".xlsm"
Dossier = "Z:\Qualité\1 - Documents Qualité\4 - Enregistrements\Qualité"
Chemin = Dossier & "\" & Fichier
On Error Resume Next
NuméroFichier = FreeFile()
Open Chemin For Input Lock Read As #NuméroFichier
User = Environ("USERNAME")
Close NuméroFichier
NuméroErreur = Err
Select Case NuméroErreur
Case 0: Vérification = False
Case 70: Vérification = True
End Select
If Vérification = True Then
MsgBox "Le Classeur: " & Chemin & " est déjà en cours d'utilisation par " & User & "." & vbCrLf & " " & vbCrLf & _
"Demandez à l'utilisateur de fermer le fichier avant de pouvoir enregistrer votre rapport.", vbMsgBoxSetForeground + vbCritical, "Lecture seule"
Exit Sub
End IfMerci à vous
Bonjour Heelflip,
Une suggestion :
Environ("UserProfile") au lieu de Environ("UserName")
Bizz
Salut Bizarre,
Alors pour l'instant je n'arrive même pas à cette partie mais je retiens au cas ou
Le premier soucis est que la macro ne détecte même pas que le fichier est ouvert sur le poste du collègue, cette macro ne fonctionne que si le fichier est ouvert sur mon poste, ce que je ne comprends pas...
Cordialement.
Bonjour Heelflip,
Malheureusement, je ne peux tester le cas dans mon environnement.
Une idée folle : L'autre utilisateur a-t-il les mêmes "droits et permissions" sur son profil utilisateur sur sa machine que les tiens sur ta machine ? Ou sont-ils plus limités ?
Bizz
Bizarre,
Pas de soucis il y aura bien quelqu'un qui aura une idée ici
Cordialement.