Avec la fonction ci-dessous, vous pouvez déterminer si un fichier est utilisé par un autre processus.

La fonction renvoie True si vous ne pouvez pas obtenir un accès complet au fichier.

Function FileAlreadyOpen(FullFileName As String) As Boolean

' returns True if FullFileName is currently in use by another process

' example: If FileAlreadyOpen("C:\FolderName\FileName.xls") Then...

Dim f As Integer

f = FreeFile

On Error Resume Next

Open FullFileName For Binary Access Read Write Lock Read Write As #f

Close #f

' If an error occurs, the document is currently open.

If Err.Number <> 0 Then

FileAlreadyOpen = True

Err.Clear

'MsgBox "Error #" & Str(Err.Number) & " - " & Err.Description

Else

FileAlreadyOpen = False

End If

On Error GoTo 0

End Function