Bonjour le forum,
J'ai une macro qui crée un fichier à partir d'un xml exporté par un ERP et qui va chercher des infos dans un autre fichier.
Si ce dernier fichier est ouvert, ça plante.... Normal ! Je sais tester si le fichier est ouvert ou non, par contre j'ai besoin de savoir QUI a ouvert ce fichier.... et là, ça coince !
Après pas mal de recherches, je suis tombé sur une procédure proposée par Michel Perron et proposée par michdenis sur le MPFE (juste en écrivant ça, je me sens vieux tout à coup ) :
Malheureusement, je ne parviens pas à adapter le code....
Si un gourou charitable passe par là et pouvait me donner une piste, il aurait droit à toute ma reconnaissance !
Merci d'avance,
J'ai une macro qui crée un fichier à partir d'un xml exporté par un ERP et qui va chercher des infos dans un autre fichier.
Si ce dernier fichier est ouvert, ça plante.... Normal ! Je sais tester si le fichier est ouvert ou non, par contre j'ai besoin de savoir QUI a ouvert ce fichier.... et là, ça coince !
Après pas mal de recherches, je suis tombé sur une procédure proposée par Michel Perron et proposée par michdenis sur le MPFE (juste en écrivant ça, je me sens vieux tout à coup ) :
VB:
Sub WhoHasFileOpen()
Dim fso As Object, Res As Object, i&: i = 1
Dim Fichier As String
Fichier = "I:\Production\Logistique\Planning\Rapports SAP\" & "2023-07 Encours PF_5.xlsm"
If Fichier = "" Then Exit Sub
On Error Resume Next
Set fso = GetObject("WinNT://mondomaine/monserveur/LanmanServer")
If IsEmpty(fso) Then Exit Sub
For Each Res In fso.Resources
If Not Res.User = "" And Not Right(Res.User, 1) = "$" Then
If InStr(1, Res.Path, Fichier, 1) Then
Range("A" & i) = Res.Path
Range("B" & i) = Res.User
'MsgBox "Fichier ouvert par " & Res.User
i = i + 1
End If
End If
Next Res
End Sub
Si un gourou charitable passe par là et pouvait me donner une piste, il aurait droit à toute ma reconnaissance !
Merci d'avance,