IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Tester si un fichier est ouvert par un autre utilisateur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut Tester si un fichier est ouvert par un autre utilisateur
    Bonjour,

    Je voudrais savoir s'il existe un moyen en VBA Excel de tester si un fichier est ouvert par un autre utilisateur.

    Merci d'avance

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 299
    Par défaut vba test sur l'erreur d'open file et sa gestion

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Bonjour mach1974

    Merci pour ta réponse.
    J'avais espéré éviter de passer par un On Error mais s'il n'est pas possible de faire autrement, il faudra bien s'y résoudre.

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 248
    Par défaut
    Hello,
    voici un code proposé dans le forum il y a quelques années par mfoxy, qui donne l'utilisateur ayant ouvert le fichier, si le fichier a été déjà ouvert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Sub testFileInUse()
    MsgBox Excel_File_in_use_by("d:\Excel\MonFichierExcel.xlsm") 
    End Sub
     
    Function Excel_File_in_use_by(FilePath As String) As String
    Dim strTempFile As String
    Dim iPos As Integer, iRetVal As Integer
    Dim objFSO As Object, objWMIService As Object, objFileSecuritySettings As Object, objSD As Object
    iPos = InStrRev(FilePath, "\")
    strTempFile = Left(FilePath, iPos - 1) & "\~$" & Mid(FilePath, iPos + 1)
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    If objFSO.FileExists(strTempFile) Then
        Set objWMIService = GetObject("winmgmts:")
        Set objFileSecuritySettings = objWMIService.Get("Win32_LogicalFileSecuritySetting='" & strTempFile & "'")
        iRetVal = objFileSecuritySettings.GetSecurityDescriptor(objSD)
        If iRetVal = 0 Then
            Excel_File_in_use_by = objSD.Owner.name
        Else
            Excel_File_in_use_by = "unknown"
        End If
        Set objWMIService = Nothing
        Set objFileSecuritySettings = Nothing
        Set objSD = Nothing
    Else
        Excel_File_in_use_by = vbNullString
    End If
    Set objFSO = Nothing
    End Function
    Ami calmant, J.P

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Ouvrir un fichier déjà ouvert par un autre utilisateur
    Par gangsterus dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/12/2011, 18h03
  2. [XL-2007] mode compatibilité: Controle si fichier déjà ouvert par un autre utilisateur
    Par Duddy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/07/2009, 23h02
  3. Tester si 1 fichier est ouvert
    Par Jeanvaljean44 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/08/2008, 09h43
  4. Tester si le fichier est utilisé par une autre appli
    Par sivaller dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 05/06/2008, 19h47
  5. Réponses: 7
    Dernier message: 15/06/2007, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo