Traitement de fichiers en série

dartagnian81 Messages postés 8 Date d'inscription lundi 15 décembre 2003 Statut Membre Dernière intervention 15 novembre 2006 - 15 nov. 2006 à 11:01
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 15 nov. 2006 à 16:58
Bonjour!

voilà ma question concerne l'automatisation de traitements de fichiers. J'ai récupéré un grand nombre de fichiers textes (400) d'une simulation numérique qui contiennent des valeurs de vitesses que je souhaite récupérer dans un seul et même fichier excel.
J'ai fait quelques lignes de code, j'arrive à ouvrir un fichier excel, ouvrir le fichier texte, aller lire dans chaque ligne les valeurs de vitesse qui m'intéresse et à les recopier dans le fichier excel.

Ma question est, comment lire les 400 fichiers texte ?
il faudrait une espèce de boucle du style "lire tous les fichiers du dossier X les uns après les autres" mais je ne sais pas comment faire....
ah oui, les fichiers ont tous un nom du style "vitesse_001.out", "vitesse_002.out".....

votre aide m'est précieuse !!:)
merci d'avance
a ciao
Darta

6 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
15 nov. 2006 à 11:08
Salut fais une boucle en incrémentant le nom du fichier, du style

dim i as integer
dim j as string
For i = 1 to nombre fichier

if lenght(i)=1 then j = "00" & i
if lenght(i)=2 then j = "0" & i

NomFichier = "vitesse_" & j & ".out",

et ici ton code sur un fichier

Next

 Drikce 06
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 nov. 2006 à 11:23
Salut,
Sinon si tes fichiers sont tous dans le mem répertoire et que tu as déjà fait le traitement d'un fichier.

Tu peux essayer un trux du style
Option Explicit 

Private Sub Form_Load() 
Dim NomFichier As String 
Dim Rep As String 
    Rep =  "C:" 

    NomFichier =  Dir (Rep & "*.out") 
    While NomFichier <> "" 
        Call TraitementPourUnFichier(Rep & NomFichier) 
        NomFichier  = Dir 
    Wend 
End Sub 

Private Sub TraitementPourUnFichier(NFichier As String) 
    MsgBox NFichier 
    'ton traitement ici
End Sub 

@+: Ju£i?n
Pensez: Réponse acceptée
0
dartagnian81 Messages postés 8 Date d'inscription lundi 15 décembre 2003 Statut Membre Dernière intervention 15 novembre 2006
15 nov. 2006 à 13:46
merci pour vos infos
jrivet, j'essaye ta solution, mais il ne reconnait NomFichier comme étant un nom de fichier et me retourne une erreur "File not found" lors de l'exécution.... une idée ?
merci
Darta
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 nov. 2006 à 14:06
Salut,
Pour que nous ayons une idée il serait mieux que tu donnes le code utilisé (sauf si c'est mot pour mot celui que j'ai proposée et qui marche chez moi)

@+: Ju£i?n
Pensez: Réponse acceptée
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
15 nov. 2006 à 16:47
 Bonjour à tous....

Salut Julien,
J'ai recopié ton code proposé.
Je n'ai ni vb6, ni de disk "c:"....et encore moins de fichiers ayant
un extend en .out
Ton code ne marche pas chez moi.....
Y a-il une solution ??? ca urge.....

Mise à part cette parenthèse humoristique, nous sommes voisins lyonnais puisque je bosse
à villeurbanne.

jean-marc
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 nov. 2006 à 16:58
> [auteurdetail.aspx?ID=9517 JMO]: Salut, Effectivement moi je bosse preès de Brignais. mais je suis en prestation pour une boite de villeurbanne :)

@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous