Compilation de résultats de course

Bonjour,

J'essaie de résoudre un problème que je n'arrive pas à faire avec les formules d'excel et je me demande même si c'est réalisable par une macro.

Je me permets de vous poster les données du problème :

J'ai un tableau reprenant en 1ère colonne des coureurs, et sur les colonnes suivantes des temps (hh:mm:ss).

17exemple.xlsx (11.55 Ko)

Il y a 1 à n lignes par coureur avec un seul temps par ligne.

Sur base de ce fichier, j'aimerais rassembler tous les temps par coureur et donc avoir une unique ligne par coureur avec tous ses temps.

Ce fichier est composé de plusieurs milliers de lignes et je dois régulièrement mettre à jour le tableau sur base de nouvelles données. Je peux donc difficilement envisager une opération manuelle...

Si quelqu'un peut de donner une piste ou une solution à ce problème, cela m'aiderait vraiment beaucoup.

N'hésitez pas à me contacter s'il manque des infos.

Matthieu

Bonsoir et bienvenu(e)

A tester

Merci beaucoup. Quelle rapidité!

Je vais tester.

J


J'ai copié mes données dans ton fichier et lorsque j'enclenche le bouton synthèse, excel plante et le programme ne répond plus. J'ai forcé la fermeture et ré-essayé et le problème se reproduit.

Une explication?

Merci en tout cas

bonjour

un galop d'essai

22mat3663.xlsx (14.64 Ko)

cordialement


re

normal ;c'est du" made in japan" et du samedi soir ; alors .......

amities Banzai

Bonsoir

mat3663 a écrit :

excel plante et le programme ne répond plus

Sans message d'erreur ?

Sans tes données il ne va pas être facile de savoir pourquoi

Tout ce que je peux te dire :

La macro calcule le nombre de colonnes, donc il ne faut rien après la dernière donnée en ligne 1

Merci à vous 2 Banzai64 et tulipe_4.

Je patauge toujours et je ne parviens pas à appliquer vos macros sur ma base donnée. J'avoue manquer de connaissances pour comprendre vraiment où ça bug.

Je vous envoie donc un classeur sur lequel je voudrais appliquer la compilation.

D'avance merci


mince impossible d'envoyer le fichier.... il est trop gros

Bonjour

mat3663 a écrit :

mince impossible d'envoyer le fichier.... il est trop gros

As tu essayé un site d'hébergement tel qu cjoint

http://cjoint.com/index.php

c joint

Merci Banzaï

Voici donc le fichier:

Déjà merci,

Matthieu

Bonsoir

mat3663 a écrit :

excel plante et le programme ne répond plus

Je pense que la macro n'avait pas fini son travail

Mais la structure de tes données n'étaient pas identiques non plus

A tester et à surtout vérifier

Laisse à la macro le temps de faire son boulot

Banzaï64 un immense merci. Cela va m'économiser des heures de travail. Tu gères bien le truc!

Je vois ta macro et je me dis "j'aurais jamais pu"...

Donc merci

Merci aussi à Tulipe d'avoir contribué

Matthieu

Bonjour

J'ai voulu faire compliqué (plus rapide - et ce n'est pas le cas)

Dans la version que tu as la macro fait la différence entre majuscules et minuscules

J'ai refait une autre version plus simple et plus rapide

A tester et à vérifier

Merci pour cette version 3 Banzaï

Je constate qu'il traite séparément les noms selon majuscules ou minuscules (exemple lignes 63/64). Que penses tu de tout mettre en majuscule?

Il y a aussi les problèmes d'accents et cédilles. Je reçois les données par course de façon non-uniforme avec une fois un FRANCOIS et une autre fois un François. Y a t-il une solution pour uniformiser?

Merci encore

Bonjour

Non la ligne 63 et 64 contiennent 2 textes différents (et ce ne sont pas les minuscules et majuscules) : il y a une espace en fin de nom en ligne 64

Ensuite il faut passer par une fonction qui enlève les lettres accentuées ( code trouvé sur ce site)

A tester

Encore une fois merci. Ceci est très utile. On y arrive

Par contre je constate une perte de données.

exemple (dans la feuille résultat) : ligne 4125, colonne L : le temps a disparu. J'ai trouvé cette erreur par hasard. As tu une idée de la raison?

Bonjour

Et oui manque de test

Dans la macro il faut enlever la ligne

        ' Boucle sur toutes les colonnes et si une valeur on la recopie
        For Colonne = 2 To NbCl
          If .Cells(Ligne, Colonne) <> "" Then
            .Cells(Ligne - 1, Colonne) = .Cells(Ligne, Colonne)
            'Exit For
          End If
        Next Colonne
        .Rows(Ligne).Delete

Et ça marche... Quel temps gagné.

Je continue de tester et je reviens si problème

en tout cas merci,

Et nickel pour les accents. Ca m'évitera de repasser partout.

Rechercher des sujets similaires à "compilation resultats course"