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 If

Merci à 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 je continue à cherche de mon côté aussi. Sinon nous avons exactement les mêmes droits.

Cordialement.

Rechercher des sujets similaires à "verification lecture seule fichier reseau"