Lignes avec des noms en commun

Laulo

XLDnaute Nouveau
Bonjour,

Je joins le fichier qui me pose problème.
Ce sont des résultats de skieurs lors d'une année.
Dans ce tableau, chaque fois qu'un skieur se classe dans une course, une ligne à son nom se rajoute.
J'aimerai que chaque nom n'apparaisse qu'une seule fois, avec dans cette ligne, tous ses classements !

Pouvez-vous m'aidez ?

Ce serait tooop :D
 

Pièces jointes

  • Copie de 2011-12.xlsx
    218.9 KB · Affichages: 40

Efgé

XLDnaute Barbatruc
Re : Lignes avec des noms en commun

Bonjour Laulo,
Pas ceratain de pouvoir t'aider, mais j'ai une question: Que veux tu faire si il y a deux résultats pour une course et pour le même nom . (Voir S9 et S22 de ton exemple).
Cordialement
 

Laulo

XLDnaute Nouveau
Re : Lignes avec des noms en commun

Merci de prendre le temps de lire mon message !

Les lignes S9 et S22, ce ne sont pas tout à fait les memes nom :
AUGERT Jean-Noel*
AUGERT Jean-Pierre
Normalement, il ne devrait pas avoir ce problème.
Le seul souci c'est que, pour certaines personnes, le nom est suivi d'un espace. (Et supprespace n'a pas marché j'ai l'impression)
 

JHA

XLDnaute Barbatruc
Re : Lignes avec des noms en commun

Bonjour à tous,

Un essai par formule mais un peu lourd

2 fois jean-pierre car en ligne 25, il y a un espace après le nom

JHA
 

Pièces jointes

  • Classeur recap.xlsx
    162.7 KB · Affichages: 40
  • Classeur recap.xlsx
    162.7 KB · Affichages: 62
  • Classeur recap.xlsx
    162.7 KB · Affichages: 43

Efgé

XLDnaute Barbatruc
Re : Lignes avec des noms en commun

Re, Bonjour JHA,
L'espace n'en est pas un :D, c'est un espace certe, mais insécable (Chr(160)).
Une proposition par macro sur iun onglet "Résultat", pour la feuille HOMMES, pour les femmes il suffit de changer le nom de la feuille en début de code.
Cordialement
 

Pièces jointes

  • 2011-12(2).xlsm
    233.9 KB · Affichages: 45

Efgé

XLDnaute Barbatruc
Re : Lignes avec des noms en commun

Re, Bonjour à tous
EDIT
Suite au très bon code de J.Boisgontier une version plus rapide (- 30%)
VB:
Sub test_2()
Dim i&, j&, K&, Tmp$
Dim TData As Variant, TReport As Variant, D As Object

Set D = CreateObject("Scripting.Dictionary")

With Sheets("HOMMES")
    TData = .Range(.Cells(2, 1), .Cells(.Cells(Rows.Count, 1).End(3).Row, 65))
End With

ReDim TReport(1 To UBound(TData, 1), 1 To UBound(TData, 2))

For i = LBound(TData, 1) To UBound(TData, 1)
    Tmp = Trim(Replace(TData(i, 1), Chr(160), ""))
    If Tmp <> "" Then D(Tmp) = ""
    j = Application.Match(Tmp, D.Keys, 0)
    For K = LBound(TData, 2) To UBound(TData, 2)
        If Trim(Replace(TData(i, K), Chr(160), "")) <> "" Then _
        TReport(j, K) = TData(i, K)
    Next K
Next i

With Sheets("Résultat")
    .Rows("2:" & .Cells(Rows.Count, 1).End(xlDown).Row).ClearContents
    .Cells(2, 1).Resize(D.Count, UBound(TReport, 2)) = TReport
End With

End Sub
Cordialement
 
Dernière édition:

Discussions similaires

Réponses
20
Affichages
2 K

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz