Fermeture d'un fichier

bonjour , j'ai une petite question rapide, j'utilise la méthode fso pour inventorier mes fichiers ( pas forcement des fichier excel ) et fermer ceux ci que ne m 'intéresse pas s'il sont ouverts :

Dim fso As Object
Set fso = CreateObject("scripting.filesystemobject")
chemin = "c:\users\" & Environ("username") & "\desktop"
 Set f = fso.GetFolder(chemin).Files
   For Each f In f
   If Mid(fso.GetFileName(f), 1, Len(fso.GetFileName(f)) - 4) <> "ABC Or _   'je recupere le nom du fichier sans l'extension
       Mid(fso.GetFileName(f), 1, Len(fso.GetFileName(f)) - 4) <> "DEF"  Then
         f.Close  'ici cette instruction ne marche pas
   End If
   Next

j'ai indiqué la ligne du beug , comment pourrais je la modifier ? Encor merci pour vos idées

Bonjour,

Pas étonnant avec :

  For Each f In f

essaies :

 Set fs = fso.GetFolder(chemin).Files
   For Each f In fs

Bonjour Patrice 33740 , merci pour votre réponse , j'ai modifié comme ceci en tenant compte de votre suggestion :

Dim fso As Object
Set fso = CreateObject("scripting.filesystemobject")
chemin = "c:\users\" & Environ("username") & "\desktop"

 Set fs = fso.GetFolder(chemin).Files
  For Each f In fs
       If Mid(fso.GetFileName(f), 1, Len(fso.GetFileName(f)) - 4) <> "ABC" Or _
              Mid(fso.GetFileName(f), 1, Len(fso.GetFileName(f)) - 4) <> "DEF"  Then
              f.Close   'toujours une anomalie à cette ligne
       End If
  Next

l'erreur persiste au niveau de la meme ligne....

Rechercher des sujets similaires à "fermeture fichier"