VBA - Différencier les extensions Excel des autres

Bonjour,

En plaçant le fichier ci-joint dans un dossier quelconque, je peux lister dans sa colonne A tous les fichiers présents dans ce dossier - quelle que soit l'extension - ainsi que dans tous ses sous-dossiers. Dans la colonne B apparaissent les chemins correspondants aux fichiers listés en A.

Mon problème est que je voudrais lister uniquement les fichiers Excel, quelles que soient leur version. Avez-vous une idée comment transformer mon code dans ce but, en gardant en tête que ce code peut également être utilisé afin d’ouvrir ces fichiers Excel passés en revue si nécessaire.

Dans l’aide Excel j’ai trouvé cet exemple, mais ça ne joue pas car il faut que le fichier soit au préalable activé, ce que je ne voudrais pas spécialement.

Dim myObject As Workbook

Set myObject = ActiveWorkbook
If myObject.Application.Value = "Microsoft Excel" Then
    MsgBox "This is an Excel Application object."
Else
    MsgBox "This is not an Excel Application object."
End If

A vous relire.

Bonjour

avec ça, on approche?

Sub ListeFichiers()
  Application.ScreenUpdating = False
  ChDir ActiveWorkbook.Path
  Range("A2").Select
  nf = Dir("*.xl*")
  Do While nf <> ""
    ActiveCell = nf
    ActiveCell.Offset(1, 0).Select
    nf = Dir
  Loop
  Range("A2").Select
End Sub

Cordialement

Salut Amadéus et merci pour ta réponse,

En fait ton code ne liste que les fichiers du dossier lui-même, mais pas des sous-dossiers. Par contre ça m'a donné l'idée nécessaire afin de transformer mon code dans lequel j'ai remplacé mon ancienne ligne

Fichier_traité = Dir(Chemin & "*.*") 

par ta proposition

Fichier_traité = Dir(Chemin & "*.xl*")

et ça fonctionne parfaitement

Encore une fois merci pour ton aide et bonnes salutations.

Rechercher des sujets similaires à "vba differencier extensions"