Salut,

j'ai trouvé sur le forum le code suivant qui permet de controler si un fichier excel est ouvert ou pas (SilkyRoad).

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
 
Function CheckExcelFileOpen(Fichier As String) As Boolean
    Dim x As Integer
 
    On Error Resume Next
    x = FreeFile()
 
    Open Fichier For Input Lock Read As #x
    Close x
 
    If Err.Number = 0 Then CheckExcelFileOpen = False
    If Err.Number = 70 Then CheckExcelFileOpen = True
 
    On Error GoTo 0
End Function
Cela fonctionne parfaitement pour tester si le fichier est déjà ouvert ou pas sur ce poste, ce qui est mon but.

Par contre si le fichier est ouvert ailleurs, et donc accessible en Read-only, il est aussi mis comme open (err.Number = 70) et je ne parviens donc pas à l'ouvrir car mon code est conditionné par le résultat de cette routine.

Comment puis-je savoir si le fichier est accédé par quelqu'un d'autre ?

Merci.