Stoper une macro sous condition

Bonjour à toutes et à tous

Je voudrais simplement mettre au début de ma macro :

Si le fichier c:\dossier\nomdufichier.xls est ouvert alors on continue la macro, sinon, on stop la macro.

Merci d'avance pour vos lumières.

Guy

Bonjour,

Tu peux faire une recherche sur le thème

"vba excel vérifier si un classeur est ouvert"

A+

je n'ai rien trouvé qui fonctionne.

Merci

Tu as essayé cette macro ?

Sub Test()
Dim Wb As Workbook
Dim ClasseurOuvert As Boolean
    ClasseurOuvert = False
    For Each Wb In Workbooks
        If Wb.Name = "nomdufichier.xls" Then
            ClasseurOuvert = True
            Exit For
        End If
    Next
    If Not ClasseurOuvert Then
            MsgBox "Le classeur est fermé ... On stoppe la macro."
            Exit Sub
    End If
    MsgBox "Le classeur est ouvert ... On continue !"
End Sub

A+

merci beaucoup

J'essaierai ton script

Entre temps j'ai trouvé ceci qui fonctionne.

Code:

Option Explicit

Sub Sample()

Dim Ret

Ret = IsWorkBookOpen("C:\myWork.xlsx")

If Ret = True Then

MsgBox "File is open"

Else

MsgBox "File is Closed"

End If

End Sub

Function IsWorkBookOpen(FileName As String)

Dim ff As Long, ErrNo As Long

On Error Resume Next

ff = FreeFile()

Open FileName For Input Lock Read As #ff

Close ff

ErrNo = Err

On Error GoTo 0

Select Case ErrNo

Case 0: IsWorkBookOpen = False

Case 70: IsWorkBookOpen = True

Case Else: Error ErrNo

End Select

End Function

Après la ligne:

Code:

If Ret = True Then

au lieu de:

Code:

MsgBox "File is open"

Tu mets ce que doit faire ton programme si le fichier est ouvert.

et après:

Code:

Else

au lieu de:

Code:

MsgBox "File is Closed"

Tu mets ce que doit faire ton programme si le fichier n'est pas ouvert.

merci encore

Guy

Rechercher des sujets similaires à "stoper macro condition"