Bonjour,

Par copie d'exemples sur divers forums, j'ai créé cette petite fonction de bouclage qui teste si le classeur est ouvert et laisse l'utilisateur relancer la procédure
j'ai ajouté une confirmation pour sortir.

Puis je vous demander si vous considérez cette fonction comme fiable ?

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
Function ClasseurOuvert(Class As String) As Boolean
On Error Resume Next
Open Class For Binary Access Read Lock Read As #1
Close #1
If Err.Number <> 0 Then
ClasseurOuvert = True
Err.Clear
End If
End Function
Sub Fichierfree()
Dim choix
choix = 6
While choix = 6 'là je boucle tant que l'utilisateur clique sur yes
If ClasseurOuvert("C:\Users\...\Taches.xlsm") = False _
Then Workbooks.Open "C:\Users\...\Taches.xlsm": choix = 99 Else _
choix = MsgBox("Le fichier est en cours de traitement relancer en cliquant sur YES!", vbYesNo, "Fichier occupé")
If choix = 7 Then  ' là je sors et demande confirmation
choix = MsgBox("ATTENTION IL FAUDRA RESSAISIR LE CARTON SI VOUS CLIQUEZ SUR YES", vbYesNo, "Confirmation")
If choix = 7 Then choix = 6 Else choix = 99
End If
Wend
End Sub
Merci pour votre lecture attentionnée.
Denis