Lister les fichiers ouverts Excel

jo2214 -  
 xpulse -
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
Configuration: Windows XP
Firefox 1.5.0.1

5 réponses

  1. RailBird
     
    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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  3. jo2214
     
    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
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Pourtant tu demandais:

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

    Bon WE
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. xpulse
     
    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