Code en VBA

Résolu/Fermé
jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009 - 17 févr. 2009 à 13:50
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 - 17 févr. 2009 à 15:57
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
A voir également:

7 réponses

xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
17 févr. 2009 à 13:57
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
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 févr. 2009 à 13:58
Bonjour,
Tu a déja fait un essais de code ?
Si oui, montre ce que tu a déja fait.
A+
0
jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009 3
17 févr. 2009 à 14:46
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
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 févr. 2009 à 14:52
Voir les sous fonctions de cette démo
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 293
17 févr. 2009 à 15:07
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
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
17 févr. 2009 à 15:57
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
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 293
17 févr. 2009 à 15:09
Oups!
j'avais pas vu le post 4 de lermite222,
Désolé!
A+
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 févr. 2009 à 15:14
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
jijudu Messages postés 211 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 3 septembre 2009 3
17 févr. 2009 à 15:21
OK super vos exemples et le lien ont rendu la tache facile.

Merci
0