Tester si un workbook est bien ovuert

deniooo

XLDnaute Occasionnel
Bonjour !
J'ai une macro automatique qui ouvre un fichier source.
Or pour l'instant il l'ouvre quoi qu'il arrive et donc me cré des erreurs si le fichier source est déja ouvert.

J'aimerai donc faire un test pour savoir si le workbook est bien ouvert.

Je ne vois pas trop quelle syntaxe utiliser..

Une idée ?!
 

Cousinhub

XLDnaute Barbatruc
Re : Tester si un workbook est bien ovuert

Bonjour,

essaie avec ce code, à adapter :

Code:
Sub verif_si_fichier_ouvert()
On Error Resume Next
Set Source = Windows("base.xls")
If Err <> 0 Then Workbooks.Open ("C:\TonChemin\base.xls")
End Sub

en supposant que ton fichier source s'appelle "base.xls"
 

kiki29

XLDnaute Barbatruc
Re : Tester si un workbook est bien ovuert

Salut, une autre façon
Code:
Sub Test2()
    If VerifOuvertureClasseur(ThisWorkbook.Name) Then
        MsgBox "Classeur déja ouvert."
    Else
        MsgBox "Classeur fermé."
    End If
End Sub

Private Function VerifOuvertureClasseur(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 VerifOuvertureClasseur = False
    If Err.Number = 70 Then VerifOuvertureClasseur = True

    On Error GoTo 0
End Function
 

Discussions similaires

Statistiques des forums

Discussions
312 755
Messages
2 091 717
Membres
105 056
dernier inscrit
David Primo