le forum !!

Principe rechercher : à l'ouverture du fichier EncoursProduction.xlsm, je lance une pocédure TestEncoursProduction pour savoir si ce fichier EncoursProduction.xlsm est déjà ouvert par un autre utilisateur réseau.
Si ce fichier est déjà ouvert, je demande à l'utilisateur de le fermer.

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
Sub TestEncoursProduction()
 
Dim Reponse As Integer
 
If FichierEstOuvert("R:\Informatique\EncoursProduction.xlsm") Then
   Reponse = MsgBox("EncoursProduction.xlsm est actuellement ouvert par un autre utilisateur!" & vbCr & vbCr & "Merci de le fermer pour poursuivre...", vbExclamation + vbOKOnly)
   If Reponse = vbOK Then
        Workbooks("EncoursProduction.xlsm").Close False
   End If
End If
 
End Sub
 
Function FichierEstOuvert(ByRef FichierTest As String) As Boolean
 
Dim Fichier As Long
 
On Error GoTo Erreur
Fichier = FreeFile
Open FichierTest For Input Lock Read As #Fichier
Close #Fichier
FichierEstOuvert = False
Exit Function
Erreur:
    FichierEstOuvert = True
End Function
Problème rencontré : systématiquement en lançant cette procédure le programme me retourne l'info que le fichier EncoursProduction.xlsm est déjà ouvert même si ce n'est pas le cas

Une petite idée ????

@+ Jean