Code en VBA

Résolu
jijudu Messages postés 215 Statut Membre -  
xav3601 Messages postés 3390 Statut Membre -
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. xav3601 Messages postés 3390 Statut Membre 312
     
    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!
    0
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Tu a déja fait un essais de code ?
    Si oui, montre ce que tu a déja fait.
    A+
    0
  3. jijudu Messages postés 215 Statut Membre 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
    0
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Voir les sous fonctions de cette démo
    A+
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    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
    0
    1. xav3601 Messages postés 3390 Statut Membre 312
       
      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 ;)
      0
  7. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    Oups!
    j'avais pas vu le post 4 de lermite222,
    Désolé!
    A+
    0
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      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+
      0
  8. jijudu Messages postés 215 Statut Membre 3
     
    OK super vos exemples et le lien ont rendu la tache facile.

    Merci
    0