Verrifier si dans le nom du fichier il y a telle chaine

Nagasashi Messages postés 25 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 20 septembre 2011 - 2 déc. 2009 à 11:51
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 - 2 déc. 2009 à 14:21
Bonjour,
Etant plus ou moins novice en ce qui concerne le VBScript,j'aurais besoin d'un petit renseignement.
j'aimerais savoir comment faire pour verrifier si mon nom de fichier contient une chaine.

Voici mon code:
Dim oFso,oFso1,nomfic
Set oFso = CreateObject("Scripting.FileSystemObject")
Set f = oFso.OpenTextFile("C:\Documents and Settings\b.laurent\Bureau\Dossier Personnel\FC050ECR02102009 pour B-Laurent", ForReading)
Set rep = oFso.GetFolder("C:\Documents and Settings\b.laurent\Bureau\Dossier Personnel")

If oFSO.FolderExists(rep) Then
For each oFso1 in oFso.getFolder(rep).Files
nonfic=oFso1.name

// Et c'est ici que j'aimerais faire la recheche
end if
next
End if


Je pence que c'est pas bien compliquer, mais je n'est toujours pas trouvé comment faire...

Merci d'avance

11 réponses

Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
2 déc. 2009 à 11:54
Bonjour,

Ouvre ta doc'
Recherche InStr()
Applique


Calade
0
Nagasashi Messages postés 25 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 20 septembre 2011 1
2 déc. 2009 à 12:59
Merci bien :)
j'ai plus qu'à l'appliquer dans mon programme et voila ^^
0
Nagasashi Messages postés 25 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 20 septembre 2011 1
2 déc. 2009 à 13:12
J'ai pu tester cette affaire de Instr() sauf le probleme c'est quil faut le la chaine de carractaire chercher soit espacé. Alors que mon fichier a pour nom: FC050ECR02102009
et j'aimerais voir, s'il contient la chaine "ECR".
Donc la fonction InStr() ne me convien pas dans ce cas là :(
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
2 déc. 2009 à 13:18
Qu'est ce tu appelles une chaîne "espacée" ???

Sinon il y a aussi la fonction Split() qui te renvoie un tableau.

Calade
0

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

Posez votre question
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
2 déc. 2009 à 13:20
J'ai pu tester cette affaire de Instr() sauf le probleme c'est quil faut le la chaine de carractaire chercher soit espacé. Alors que mon fichier a pour nom: FC050ECR02102009
et j'aimerais voir, s'il contient la chaine "ECR".
Donc la fonction InStr() ne me convien pas dans ce cas là :(

Ah ! Belle affirmation !
Sans avoir testé, probablement (ou avoir compris la vocation de Instr)
0
Nagasashi Messages postés 25 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 20 septembre 2011 1
2 déc. 2009 à 13:22
Après plusieur test, c'est pas la fonction Instr() qui me fait défaut, c'est mon "nomfic", car quand je fait: nomfic=oFso1.name ma varriable nomfic ce retrouve vide, elle ne transforme pas le nom de mon fichier en string.
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
2 déc. 2009 à 13:41
Je viens de relire ton 1er post alors mettons les choses au point. Es-tu en VBScript ou en VB6, ce n'est pas pareil et dans le cas n° 2 je déclare forfait en plus que ce n'est pas posté dans la bonne catégorie.

Si comme j'ose l'espérer tu es bien en VB6, dans la fenêtre d'exécution que te donnes ofso1.name ?


Calade
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
2 déc. 2009 à 14:00
Ah !
Alors change de discussion ! Ce n'est plus l'extraction d'une sous-chaîne dans une chaîne, qui te cause problème, mais autre chose : l'établissement même de ta chaîne !
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
2 déc. 2009 à 14:06
Et même si j'ai banni depuis longtemps l'utilisation de ce lourdaud de FSO depuis VB6, une chose demeure super évidente :
Dans ta boucle for each (à son issue, donc, puisque foir Each), c'est le dernier fichier qui est retenu, pardi (pas forcément delui que tu veux !)
Mais voilà : je n'irai pas plus loin car tu poses une question sans vrai rapport avec la vraie cause (tes difficultés à utiliser FSO pour extraire un nom de fichier d'un répertoire)
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
2 déc. 2009 à 14:18
A jmf0: Simplement pour info, qu'utilises-tu à la place de FSO, les API ?


Calade
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
2 déc. 2009 à 14:21
Non m'sieu ! non ! tout simplement VB ... tout seul .... 'il est doté de ce qu'il faut et qui est à la fois plus léger et plus rapide que FSO, ce lourdoud inutile).
Mais j'arrête-là ! ce n'est pas le sujet apparent de la discussion ouverte, telle qu'ouverte !
Désolé, mais je tiens à cette discipline là !
0
Rejoignez-nous