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,