Classeur déjà ouvert???

nostra78 Messages postés 137 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 6 décembre 2005 - 30 mars 2005 à 15:59
galopin01 Messages postés 133 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 octobre 2011 - 30 mars 2005 à 20:57
Existe t'il une propriété pour savoir si un classeur est déjà ouvert ou non???
Genre(mais qui marche pas)
If Workbooks("x") Is Open then

7 réponses

damdam04 Messages postés 27 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 20 novembre 2006
30 mars 2005 à 16:17
salut

tu veux faire quoi exactement aprés ton "if"???
0
nostra78 Messages postés 137 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 6 décembre 2005
30 mars 2005 à 16:21
En fait c pour éviter l'erreur 9 l'indice n'appartient pas à la sélection.
If Workbooks("x") Is open then
Workbooks("x").Activate
Else
Workbooks.Open filename:=...
End if
0
damdam04 Messages postés 27 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 20 novembre 2006
30 mars 2005 à 16:35
tu peux faire un truc de ce style la...



Dim i As Integer

For i = 1 To Workbooks.Count
If Workbooks(i).Name = "test1.xls" Then
MsgBox ("ouvert")
Else
Workbooks.Open ("C:\test1.xls")
End If

Next i



voila si tu cherches sur le forum y a plein de sources qui parlent de ça
0
nostra78 Messages postés 137 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 6 décembre 2005
30 mars 2005 à 16:47
To ntruc ne convient pas si i=0 et que le nom différent il va ouvrir alors que pour i=1 c bon!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
damdam04 Messages postés 27 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 20 novembre 2006
30 mars 2005 à 16:54
tu testes alors le nombre de classeurs ouvert avant de rentrer dans le "for"



If Workbooks.Count <> 0 Then

For i = 1 To Workbooks.Count

...

Next i

Else

Workbooks.Open ("C:\test1.xls")

End If
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
30 mars 2005 à 19:23
Salut,
Ou alors tu gère par rapport au erreur

'Là si pas ouvert erreur !!!!
On Error Resume Next
Workbooks("x").Activate
If Err.Number <> 0 Then
Workbooks.Open ("C:\test1.xls")

Err.Clear
End if

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
galopin01 Messages postés 133 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 octobre 2011 1
30 mars 2005 à 20:57
bonsoir,
une petite fonction qui fait ça :

Function WbIsOpen(Nom$) As Boolean
For Each o In WorkbooksY o.Name Nom
If Y Then Exit For
Next
WbIsOpen = Y
End Function


Sub Test()
MsgBox WbIsOpen("MonBeauClasseur.xls")
End Sub

A+
0
Rejoignez-nous