Importer des infos venant de fichiers txt

Bonjour

J'utilise un logiciel (venue race) pour gérer des compétitions de courses de rameurs

A la fin de la compétition, j'ai dans un répertoire (chemin et nom différent à chaque compétition) autant de fichiers .txt qu'il y a eu de séries durant la compétition

je dois aller dans chaque fichier txt pour récupérer les infos des résultats

Serait il possible qu'une macro puisse récupérer les infos de tous ces fichiers (1 fichier par série) du répertoire en les plaçant dans un fichier xls (nom au choix) ?

Avec comme titre des champs : (colonne A à M)

Nom fichier txt /date du fichier txt /heure du fichier txt

puis

/place/time rowed/meters rowed/boot/avgpace/id/bib number/class/ (infos venant du fichier txt)

puis

sexe

Pour info voici les infos d’un fichier TXt avec 3 concurrents (ligne 4, 5 et 6)

Ligne4 : 1,04:22.9,1000,3-rob-Arras Julie, 2:11.4,,0,

Ligne 5 : 2,04:36.1,1000,3-rob-arras Juliette, 2:18.1,,0,

Ligne6 : 3,04:56.0,1000,3-rob-Arras Camille, 2:28.0,,0,

Ligne 7 (vide)

mais il se peut qu'il y ait X concurrents et donc les infos serrait de la ligne 4 à X

la dernière ligne après les infos de X est vide

Merci

Chvalet

29008-results.txt (367.00 Octets)
37009-results.txt (363.00 Octets)

Bonsoir,

Ci-joint une proposition à tester (sélectionner le répertoire contenant tous les fichiers).

Bonne soirée

Bouben

Salut Bouben

Salut Forum ,

J'ai testé ton fichier, le résultat est excellent.

Si on peut aller plus loin :

Serait ce possible de mettre le bouton macro sur une feuille de départ nommée "importer"

Et Après le clic sur bouton ,

une fenetre s"ouvre en demandant " quel est le nom de la feuille destinataire choisie : "

Ainsi on inscrit le nom de la feuille voulue

puis bouton "ok" puis

ouverture de la feuille choisie si elle existe ou créée si absente

puis

une 2e fenetre s'ouvre avec le début de ta macro "parcourir"

merci beaucoup

Ch

Bonsoir,

Ci-joint une nouvelle version, à tester.

Bonne soirée !

Bouben

Bonsoir

Excellent fichier !

merci,

Ch

Bonsoir Bouben

Bonsoir Forum

J'ai utilisé ton fichier ces derniers jours , il est excellent

Serait il possible de faire quelques corrections et ajouts ?

en cas de réponse positive, les voici :

1-dans le Module importation existant : importer resultats

Dans la création de la feuille de résultats,

Serait il possible que le nom soit suivi obligatoirement par "-Résults" (concatener le nom choisi + "-Results"

2- Ajouter un module d'importation Splits Data

Dans la feuille Importation

En dessous du module importer résultats

Serait il possible de créer un module "Importer Splits Data" qui permettrait de créer une feuille "nom choisi" "-Splits Data)

Les données seraient récupérées d'un répertoire au choix (comme pour résultats)

Cf fichier de départ joint splits data

Puis copier coller dans la feuille "nom choisi-Splits data"

tous les fichiers récupérés ont un nom qui se termine par "Splits Data.txt"

exemple choisi : Serie1A Splits Data.txt

En fait, ce sont les temps intermédiaires de chaque rameur sur chaque série

mais il peut en avoir 1, 2, 3 , ... (c'est une option) pour chaque rameur

Mais dans le fichier .. splits data txt , les données de chaque rameur commencent ainsi

une virgule puis ligne suivante 2 virgule , puis ligne suivante 2 virgule

Quand il y a qu 1 virgule , c'est que l'on passe au rameur suivant .

Exemple du fichier txt :

Interval,Boat,Time,Meters,Split_Avg_Pace,Split_Stroke_Rate,Split_Heart_Rate

,HOUZE,105.7,500.0,105.7,32,0

,,110.8,1000.0,110.8,27,0

,,106.7,1500.0,106.7,30,0

,HAMADY,104.0,500.0,104.0,34,0

,,106.7,1000.0,106.7,33,0

,,107.4,1500.0,107.4,35,0

je mets le fichier xls (voir la feuille splits data) en pj et 2 fichiers txt pour les exemples

Merci pour votre aide

Ch

Bonsoir

CHVALET a écrit :

J'ai utilisé ton fichier ces derniers jours , il est excellent

Serait il possible de faire quelques corrections et ajouts ?

Merci pour les compliments

Ci-joint une nouvelle version prenant en compte les résultats.

A tester, comme d'hab !

Bonne soirée

Bouben

Bonjour Bouben

Bonjour Forum

Merci pour cette réponse rapide. C'est excellent !!

1-Cependant J'ai eu un bug car dans mon répertoire il y a des fichiers txt différents

ex

Serie1A Splits Data.txt

Serie1A Stroke Data.tx

Serie2A Splits Data.txt

Serie2A Stroke Data.tx

etc...

Erreur d'execution 9

L'indice n appartient pas à la selection

ligne en surlignage jaune

" moShDest.Cells(miLig, 10) = Split(sLigne, ",")(1) "

par contre si j'isole les fichiers finissant par splits data, ça marche à merveille .

2- Total Time

il est actuellement en seconde,0

Pourrait il etre modifié en mm:ss,0 ?

3- Place-serie

le rang doit se faire uniquement dans la série , c'est à dire le rang avec le même nom de fichier

Actuellement cela correspond à la Place au classement général (super!)

4- Place-général

j'ai ajouté une colonne Place général afin d'y mettre le classement que tu avais fait en Place-Série

5-place Sexe

j'ai ajouté une colonne Place-Sexe

serait il possible d'avoir un rang qui se modifie à chaque fois que l'on ajoute "F" pour fille et "G " ou "M" pour Masculin/garçon dans la colonne sexe ? et donc d''avoir le classsement selon le sexe ?

6-Place-Class

Class correspond à une catégorie au choix que l'on peut créer

ex JF (junior fille), Ent =(Entreprise), LYC =(lycée) et ....

Serait il possible comme pour le sexe qu'un classement se réalise à chaque fois qu'une catégorie apparait dans la case Class ?

Actuellement j'utilise la formule matricielle somme prod sur chaque colonne

par exemple

=SOMMEPROD(($A$2:$A$100000=A2)*($M$2:$M$100000<M2))+1

mais il faut l'inscrire dans chaque case,

une macro est sûrement possible, n est ce pas?

encore merci pour ce fichier qui m'a fait gagner des heures de copier-coller .

En Pj : fichier xls v0.4, avec feuille exemple,+ fichier splits data.txt + stroke.txt

Ch

Bonjour,

Ci-joint une nouvelle version à tester.

Reprend les principaux points. Seul le problème de fichier qui fait bugger n'est pas identifié (non reproduit).

Pour info, il y a 2 onglets masqués : "Modele" et "ModeleSplit", servant de base de départ (et les formules matricielles sont laissées en l'état).

Bonne journée

Bouben

Re-

Les nouveaux fichiers (à partir de 14 B) comprennent 2 séries de données, ce qui fait planter le traitement.

En PJ, une nouvelle version, qui affiche le fichier en erreur (aucune autre modification).

Question : comment la deuxième série de données doit être traitée (de la même façon ?)

premières lignes (14B split data) :

Interval,Boat,Time,Meters,Split_Avg_Pace,Split_Stroke_Rate,Split_Heart_Rate

,COL MALGRANGE JA CLF2,117.9,500.0,117.9,30,0

,,3.9,1000.0,3.9,29,0

,COL ECRINS EMB CLF1,89.2,500.0,89.2,28,0

Et deuxième partie :

Individual Splits

Boat,Rower,Time,Meters,Split_Avg_Pace,Split_Stroke_Rate,Split_Heart_Rate

COL MALGRANGE JA CLF2,904 AUBERT Noemie,119.0,500.0,119.0,31,0

,,121.3,1000.0,121.3,29,0

A voir, ça va peut-être complexifier le traitement.

En attente d'info ...

Bouben

Salut

merci pour la réponse

1- time split

=(N2+S2+X2)/(3600*24)

parfois il y a plus de 3 time splits

2 "Question : comment la deuxième série de données doit être traitée (de la même façon ?)"

seule les lignes pour "internal" comptent pour cette feuille

les lignes pour indivduel splits pourront certainement etre utilisées pour un 3e module "individual split"

merci encore

Ch

Hello,

Point 1 :

Si tu regardes bien, la formule est bien variable selon le nombre de courses (tu confirmes ?)

Nouvelle version : ajout des titres pour les courses 4 à 6

Point 2 : ci-joint une nouvelle version se basant uniquement sur la première partie des fichiers

A tester de nouveau, en attendant la suite

Bouben

Bonjour

Point1 : oups , j'avais raté quelque chose

"Nouvelle version : ajout des titres pour les courses 4 à 6" : ok merci

point2 : ok ça fonctionne nickel.

3- Serait il possible que les temps en sec apparaissent en mm:ss,0 ,

Pour Time-Split Meters et pour Split_Avg_Pace

4-Classements dans feuille Split Data

j'ai fait une erreur de classement (sic) , on ne peut évidemment pas classer des infos qui ne correspondent pas à une course de même distance.

L'insertion d une colonne en N (Meters Rowed) est donc nécessaire

la colonne N se calcule par le max d'un split data (=MAX(P?;U?;Z?;AE?;AJ?;AO?)

Ainsi dans les formules "somme prod" il faut aussi ajouter ce critère (Meters Rowed) pour que le classement soit correct

Si un critère est manquant, serait il possible que la case soit vide au lieu d'un nombre de type 99998 ?

si (estvide (..) ;"" ; sommepro ....

5-Feuille Split Data Indiv

2 txt possibles :

L'un sans la ligne " Individual Splits" donc le boat = rower

L'autre avec individual Splits et danc des équipiers

Cf modele joint dans fichier

6-Module résultats détaillés

A partir des fichiers Results.txt

Construire la feuille "ModeleDetail-Results" grâce aux infos apparaissant après la ligne "Detailed Results"

Cf modele joint dans fichier xls

2 possibilités

* soit il y a un team Name et donc il y aura des equipiers à placer avec leurs infos

et le changement de boat se fait à chaque fois que la "place" est différente de vide

exemple serie15b resultats.txt

Detailed Results

Place Lane Team Name Rower Name Time Distance Avg, Pace ID Class

1 5 COL J.B CARPEAUX CLF1 04:06.0 1000 02:03,0 CLF

847 WIART Juliette 1052 01:56,9 null

847 TAQUET Albertine 964 02:07,5 null

847 HERLEM Sasha 1016 02:01,0 null

847 BERBACHE Tinhinan 968 02:07,0 null

* soit il n'y a pas de team Name dasn le fichier txt et donc il y aura qu'un seul rower par ligne

exemple serie2b results.txt

Detailed Results

Place Lane Rower Name Time Distance Avg. Pace ID Class

1 34 VALLET 07:09.7 2000 1:47.4 SH 60+

1 52 HOMSY 07:20.4 2000 1:50.1 SF 50-59

2 35 DULAUROY 07:18.6 2000 1:49.7 SH 60+

2 49 UZAN 08:10.7 2000 2:02.7 SF 50-59

3 36 GOERENS 07:37.9 2000 1:54.5 SH 60+

ENCORE MERCI POUR TON AIDE

Ch

Rechercher des sujets similaires à "importer infos venant fichiers txt"