Evenement open

S

Sabine

Guest
Bonjour,

QQ1 saurait-il la syntaxe exacte pour vérifier si le classeur XX est ouvert lorsque j'ouvre le classeur YY.
j ai essayé ca mais ???

dans thisworbook :
If WorkbooksFilename:='Z:\\PRODUCTION\\PROSTOCK\\toto.xls'.Open then msgbox('fichier ouvert')

Merci d'avance.
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Sabine, bonjour le forum,

Essaie comme ça :


Private Sub Workbook_Open() 'à l'ouverture du classeur YY
Dim Wb As Workbook 'déclare la variable Wb

For Each Wb In Workbooks 'boucle sur tous les classeurs ouverts
If Wb.Name = 'XX.xls' Then 'si le classeur s'appelle 'XX.ls'
MsgBox 'Le classeur XX.xls est déja ouvert' 'message
Exit Sub 'sort de la procédure
End If 'fin de la condition
Next Wb 'prochain classeur de la boucle

Workbooks.Open ('XX.xls') 'ouvre le classeur 'XX.xls'
ThisWorkbook.Activate 'active ce classeur
End Sub

Édition
Coucou Abel. Tu pourrais klaxonner quand tu doubles...

Message édité par: Robert, à: 12/09/2005 16:49
 

Abel

XLDnaute Accro
Re,

Sabine, pardon de squatter ton fil ...

Robert : élément chimique de masse 128.10-154. Se trouve en milieu naturel extra-terrestre toujours par paire.

Pouet ! Pouet !

Abel.

Pardon Robert, je n'ai pas pu m'empècher.

Message édité par: Abel, à: 12/09/2005 16:57
 

myDearFriend!

XLDnaute Barbatruc
Bonjour Sabine, Abel, Robert,

Une autre façon de faire en évitant la boucle...

Pour savoir si un Classeur X est ouvert :
Sub Test()
        MsgBox 'Fichier ' & IIf(FichOuvert('MonClasseur.xls'), '', 'NON ') & 'ouvert.'
End Sub

Function FichOuvert(F As String) As Boolean
Dim Wk As Workbook
        On Error Resume Next
        Set Wk = Workbooks(F)                 '(merci à Ti pour l'astuce !)
        On Error GoTo 0
        FichOuvert = Not Wk Is Nothing
End Function
Cordialement,
 

Discussions similaires

Statistiques des forums

Discussions
312 300
Messages
2 087 020
Membres
103 435
dernier inscrit
azizou31