Code en VBA

Résolu
Bonjour cher forum,

Est-ce que qq1 de vous connaîtrez le bout de code VBA pour dire :
Pour tous les fichiers de tel dossier faire
1) lire le nom du fichier
2) Si une partie de ce nom comporte un "OK" alors ........

je ne sais vraiment pas comment dire en VBA pour dire lire le nom du fichier etc .....
Merci
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. OK super vos exemples et le lien ont rendu la tache facile.

    Merci
    1. Oups!
      j'avais pas vu le post 4 de lermite222,
      Désolé!
      A+
      1. Contributeur
        Mais non, mais non, faut pas être désolé.
        il n'y a pas la fonction Instr() dans la démo.
        Ca va lui permettre de complèter.
        A+
    2. Sub LitleDossier()
      Dim fs, F, f1, s, sf
      Dim Chemin As String

      'mettre le nom du chemin
      Chemin = "C:\Data"

      Set fs = CreateObject("Scripting.FileSystemObject")
      Set F = fs.GetFolder(Chemin)
      Set sf = F.Files
      For Each f1 In sf
      If InStr(1, f1, "OK") > 0 Then ' il y a ok dans le nom du fichier
      'mettre le reste du code ici

      End If

      Next

      End Sub
      1. Ohhh j'avais pas pensé à utiliser la fonction InStr de cette facon pour detecter la présence d'une chaine de caractere dans une autre :-)
        c'est cool ;)
    3. Salut et merci,

      Non j'ai réfléchi mais rien tenté ....
      Ton code comporte un probléme :
      Set fs = CreateObject("Scripting.FileSystemObject")
      Set rep = fs.getfolder("C:\Calcul\Mauleon\Brut\Retranscri")
      For Each fileitem In rep
      MsgBox (fileitem.Name)
      
      Next

      car il affiche "propriété ou méthode non gérée par cet objet" à la ligne
      For Each fileitem In rep

      Merci
      1. Contributeur
        Bonjour,
        Tu a déja fait un essais de code ?
        Si oui, montre ce que tu a déja fait.
        A+
        1. tu fais un truc qui ressemble a ca:

          Set fs = CreateObject("Scripting.FileSystemObject")
          set rep = fs.getfoleder("nom repertoire")
          for each fileitem in rep
          msgbox(fileitem.Name)

          next

          pour ce qui est de la recherche du OK dans le nom... c'est un peu plus complique, je ne me souviens plus de la fonction associe!