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

Signaler
Messages postés
25
Date d'inscription
vendredi 27 novembre 2009
Statut
Membre
Dernière intervention
20 septembre 2011
-
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
-
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

Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
Bonjour,

Ouvre ta doc'
Recherche InStr()
Applique


Calade
Messages postés
25
Date d'inscription
vendredi 27 novembre 2009
Statut
Membre
Dernière intervention
20 septembre 2011
1
Merci bien :)
j'ai plus qu'à l'appliquer dans mon programme et voila ^^
Messages postés
25
Date d'inscription
vendredi 27 novembre 2009
Statut
Membre
Dernière intervention
20 septembre 2011
1
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à :(
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
Qu'est ce tu appelles une chaîne "espacée" ???

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

Calade
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
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)
Messages postés
25
Date d'inscription
vendredi 27 novembre 2009
Statut
Membre
Dernière intervention
20 septembre 2011
1
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.
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
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
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
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 !
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
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)
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
A jmf0: Simplement pour info, qu'utilises-tu à la place de FSO, les API ?


Calade
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
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à !