classeur ouvert

  • Initiateur de la discussion janot
  • Date de début
J

janot

Guest
St le forum,

Juste une toute petite question qui va vous sembler ridicule mais comment determiner qu'un fichier est ouvert ?

Je m'explique, j'ai un programme qui ouvre plusieurs fichiers selon critères mais mon problème est que je ne connais pas la ligne de commande pour lui dire : si le classeur("untel") est déjà ouvert, alors....
voilà, question très bête mais quand on ne sait pas, on ne sait pas...

A bientot
 
@

@+Thierry

Guest
Re: Test si Classeur Ouvert : Test par Boucle sur WB ou Gestion de l'Erreur

Bonsoir Janot, le Forum

La première réaction (logique) serait de boucler sur la collection de WorkBooks de la sorte :

Sub BoucleSurWBCollection()
Dim Fichier As String
Dim WB As Workbook
Dim i As Byte

Fichier = "TestFichier.xls" '<<<<< récupérer ta variable fichier...

For Each WB In Workbooks
If WB.Name = Fichier Then
i = i + 1
MsgBox "le fichier : " & Fichier & " est déjà ouvert...."
Exit For
End If
Next
If i = 0 Then MsgBox "le fichier : " & Fichier & " n'est PAS ouvert...."
End Sub



Mais il y a bien plus simple et rapide en gérant l'erreur de WorkBooks(x).Activate

Sub TestErreurWBActivate()
Dim Fichier As String

Fichier = "TestFichier.xls"

On Error Resume Next
Workbooks(Fichier).Activate
If Err = 0 Then
MsgBox "le fichier : " & Fichier & " est déjà ouvert...."
Else
MsgBox "le fichier : " & Fichier & " n'est PAS ouvert...."
End If

End Sub

Bonne soirée
@+Thierry
 

Discussions similaires