Chaine vide de la fonction Dir ?

Résolu
cs_mmm1 Messages postés 2 Date d'inscription dimanche 12 novembre 2006 Statut Membre Dernière intervention 13 novembre 2006 - 13 nov. 2006 à 09:35
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 13 nov. 2006 à 16:15
salut

j'utilise la foncion Dir de vb pour me retourné les noms des fichier d'un dossier donné mais elle me  retourne une chaine vide sans que le parcour des fichier est términé.
elle s'execute deux fois et sor

Fich_i(1) = Dir("C:\Projet\ATM\DASP\Stat\Fichier_CSV\dasp1\*.csv"):

do while Fich_i(1) <>""

'  mon traitement ****

Fich_i(1) =  Dir
loop

elle s'execute deux fois et sort de la boocle ?
merci encore

6 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
13 nov. 2006 à 13:22
 Bonjour à tous....

Ton code pourrait ressembler à:

Const RacRep = "D:\Projet\ATM\DASP\Stat\Fichier_CSV"
Dim strListe
Dim rep(5)
rep(0) = "dasp1"
rep(1) = "dasp1\Algerie\Djezzy"
rep(2) = "dasp1\Algerie\Mobilis"
rep(3) = "dasp1\Algerie\Nedjma"
rep(4) = "dasp1\Restedumonde"
Dim rep_courant : rep_courant = Array(rep(0),rep(1),rep(2),rep(3),rep(4))



Dim i
For i = 0 To UBound(rep_courant)
    Call List_Repertoire(RacRep & rep_courant(i), strListe)
Next



MsgBox strListe,,"Liste des fichiers .csv"
WScript.Quit
'###############################################################################
Function List_Repertoire(rep_courant, strListe)
Dim Fso         : Set Fso = CreateObject("Scripting.FileSystemObject")
If Fso.FolderExists(rep_courant) Then
   Dim Dossiers, fic, fichiers, f
   Set Dossiers = fso.GetFolder(rep_courant)
   Set fic = Dossiers.Files
   For Each fichiers in fic
       Set f = fso.GetFile(fichiers)
       If fso.GetExtensionName(fichiers) = "csv" Then
          strListe = strListe &vbCrLf& rep_courant & f.Name &vbCrLf
       End If
       Set f = Nothing
   Next
Set Dossiers = Nothing
Set fic = Nothing
End If
Set Fso = Nothing   
End function


jean-marc
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 nov. 2006 à 09:56
Salut,

Peu etre parce que ton dossier ne contient que 2 fichiers csv.

Si tu veux parcourir TOUT les fichiers de ce dossier il faut faire *.* au lieu de *.csv

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_mmm1 Messages postés 2 Date d'inscription dimanche 12 novembre 2006 Statut Membre Dernière intervention 13 novembre 2006
13 nov. 2006 à 11:46
 Resalut

mon dossier contient 7 fichiers, et j'ai déja essayé avec *.*,   peut etre parcque j'utilise le Dir plusieurs fois lors de l'initialisation :

Fich_i(1) = Dir("C:\Projet\ATM\DASP\Stat\Fichier_CSV\dasp1\*.csv"):
Fich_i(2) = Dir("C:\Projet\ATM\DASP\Stat\Fichier_CSV\dasp1\Algerie\Djezzy\*.csv"):
Fich_i(3) = Dir("C:\Projet\ATM\DASP\Stat\Fichier_CSV\dasp1\Algerie\Mobilis\*.csv"):
Fich_i(4) = Dir("C:\Projet\ATM\DASP\Stat\Fichier_CSV\dasp1\Algerie\Nedjma\*.csv"):
Fich_i(5) = Dir("C:\Projet\ATM\DASP\Stat\Fichier_CSV\dasp1\Restedumonde\*.csv"):

et lors de la boocle
    Fich_i(1) = Dir  ' Saut de fichier input
   
    Fich_i(2) = Dir("C:\Projet\ATM\DASP\Stat\Fichier_CSV\dasp1\Algerie\Djezzy" & Fich_i(1)) ' pour pointer sur le meme nom de fichier
    Fich_i(3) = Dir("C:\Projet\ATM\DASP\Stat\Fichier_CSV\dasp1\Algerie\Mobilis" & Fich_i(1))    '
    Fich_i(4) = Dir("C:\Projet\ATM\DASP\Stat\Fichier_CSV\dasp1\Algerie\Nedjma" & Fich_i(1))     
    Fich_i(5) = Dir("C:\Projet\ATM\DASP\Stat\Fichier_CSV\dasp1\Restedumonde" & Fich_i(1))     '

mecri encore
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
13 nov. 2006 à 12:05
salut,
dir cherche dans un dossier, pas dans les sous-dossiers.
pour çà, tape fonction récursive dans le moteur, çà devrait t'aider

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0

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

Posez votre question
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
13 nov. 2006 à 13:28
 Re....
Oups...

Const RacRep = "C:\Projet\ATM\DASP\Stat\Fichier_CSV"
testé at home
jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
13 nov. 2006 à 16:15
 Bonjour à tous....
Re, mmm1,

Ce n'est pas la peine de passer par un MP.

Message :
ca ma donné une idée car ton code été beaucoup plus pronfond de ce que je voulais, moi j'ai resolu mon pb a 80% et mnt je suis entrain d'etudier ton code merci encore et bonne journée

Tu peux éventuellement mettre ta réponse (utille pour les autres) et la valider (click sur "réponse acceptée").

jean-marc
0
Rejoignez-nous