Lister les fichiers ouverts Excel

Fermé
jo2214 - 24 sept. 2008 à 09:50
 xpulse - 20 juil. 2009 à 12:12
Bonjour,
quelqu'un saurait t'il comment en VBA lister tous les fichiers Excel ouverts (même pas encore sauvegardés)

je teste ce code qui fonctionne bien avec l'instance d'Excel en cours (celle de thisworkbook)
mais je ne vois pas les fichiers ouverts d'autres instances d'Excel! (sur la mm session windows)

For Each Classeur In Application.Workbooks
DateClasseur = Classeur.BuiltinDocumentProperties("Creation Date")
debug.print Classeur.Name, DateClasseur
Next

(Excel 2000 et +)
merci de votre aide
A voir également:

5 réponses

Sub Test_Class_Ouvert()

For i = 1 To Workbooks.Count

ActiveSheet.Cells(i, 1) = Workbooks(i).Name

Next i

End Sub

Ca permet de récuperer le nom des classeurs ouverts et les copies dans la cellule, par contre, il n'affiche pas les classeurs "non sauvegardé", j'ignore s'il faut ajouter une condition.
10
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 309
24 sept. 2008 à 10:17
Bonjour,

cette fonction renvoie un booléen indiquant si le classeur est ouvert (true)

<code>Function FichOuvert(F As String) As Boolean
'D'après Didier_mdf
Dim Wk As Workbook
On Error Resume Next
Set Wk = Workbooks(F)
On Error GoTo 0
FichOuvert = Not Wk Is Nothing
End Function
</code>
0
Merci ,
mais le but est de sélectionner le dernier classeur ouvert de toutes les instances d'Excel:
il semble que chaque instance ne détecte que ses propres classeurs
et le code ci dessous fonctionne très bien pour ça
For Each Classeur In Application.Workbooks
  DateClasseur = Classeur.BuiltinDocumentProperties("Creation Date")
  debug.print Classeur.Name, DateClasseur
Next

peut être qu'un objet du style "excel.applications" existe t'il sous un autre nom ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 309
27 sept. 2008 à 09:26
Pourtant tu demandais:

..."quelqu'un saurait t'il comment en VBA lister tous les fichiers Excel ouverts"...

Bon WE
0

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

Posez votre question
bonjour,

je fais un gros Up de plus de 6 mois car je rencontre le même problème :

boucler sur tous les classeur ouverts de toutes les applications excel ouverte sur le pc

en gros quelque chose comme:

Dim Exapp As Excel.Application
Dim WB As Workbook

For Each Exapp In (Excel.applicationS)

For Each WB In Workbooks
If WB.Name = NomFichier Then
OuvertureFichier = True
End If
Next

Next

est ce possible de cette façon et si oui quel en est l'écriture exacte ou faut il aborder le problème différemment?
0