Classement joueurs après des tournois

Bonjour,

Je souhaite faire un classement de joueur de tennis après qu'ils aient fait plusieurs tournois.

Sachant que des joueurs ne font pas tous les tournois.

Je récupère les données sur un fichier excel: nom, prenom, clubs, points...

Je voudrais copier ce fichier sur un nouvel onglet à chaque fin de tournoi et faire le sur le 1er onglet classement avec les formules adéquates.

Pouvez-vous m'aider

bonsoir,

une proposition

Bonsoir,

Merci pour la rapidité de la réponse. Je fais des tests demain. Impressionné. Comment avez-vous fait? Formule? Macro avec VBA?

Je suis curieux de voir la méthode.

Bonjour

Solution via une macro

Bonjour,

Suite à mon fichier je souhaiterai rajouter les dates de naissance.

J'ai essayé de comprendre mais j'ai 2 soucis:

  • le classement se fait mais le dernier du 1er tournoi ne se classe pas
  • Ca m'écrit à la place de la ligne des titre sur la feuille classement général.
Je pense que la mise en forme "Gras" se met à cause de çà.

Merci pour votre aide.

bonjour,

une correction

Bonjour,

Merci pour votre rapide réponse, mais les soucis persistent:

  • quand je clique pour faire le classement, le classement se fait mais il m'efface le nom des colonnes (nom, prénom, naissance...)
  • les 2 derniers de la liste ne sont pas classés.
Merci

bonjour,

désolé j'avais corrigé sans vérifier. Cela devrait être bon maintenant.

Merci, c'est nickel

Bonjour,

J'ai fait des modifications, notamment j'ai inséré une ligne pour saisir la date de saisie.

Maintenant quand je demande le classement, la ligne nom prénom classement disparaît.

Je cherche dans la macro mais je ne trouve pas à quel moment du script on affiche les résultats.

Merci pour votre aide.

Sub aargh()
    Dim cl()
    Set wsg = Sheets("Classement général")
    wsg.Cells(4, 1).Resize(1000, 10).Clear
    Set d = CreateObject("scripting.dictionary")
    For Each ws In Worksheets
        If ws.Name <> wsg.Name Then
            With ws
                dl = .Cells(Rows.Count, 1).End(xlUp).Row
                For i = 2 To dl
                    k = joinc(ws.Cells(i, 1).Resize(, 3), "|")
                    If d.exists(k) Then
                        p = d.Item(k)
                        cl(6, p) = cl(6, p) + ws.Cells(i, 6)
                    Else
                        c = c + 1
                        ReDim Preserve cl(1 To 6, 1 To c)
                        d.Add k, c
                        For j = 1 To 6
                            cl(j, c) = ws.Cells(i, j)
                        Next j
                    End If
                Next i
            End With
        End If
    Next
    wsg.Cells(4, 1).Resize(c, 6) = Application.Transpose(cl)
    wsg.Range("A3:F" & c + 3).Sort key1:=wsg.Range("F3"), order1:=xlDescending, Header:=xlYes
End Sub
Function joinc(r, st)
    For Each c In r
        s = s & c & st
    Next c
    joinc = s
End Function

bonjour,

c'est cette instruction qui affiche le contenu dans la feuille avant tri.

wsg.Cells(4, 1).Resize(c, 6) = Application.Transpose(cl)

insertion des données en ligne 4 colonne 1, sur c ( nombre de joueu.r.se.s) lignes et 6 colonnes

Rebonjour,

Suite à quelques modifs, je n'arrive plus à classer par ordre croissant la colonne des points:

- cela fonctionne la 1er fois

- si je rajoute une personne, il me fait le calcul mais ne classe plus par ordre croissant

Merci pour votre aide

Bonjour,

Pas possible de m'aider svp. Merci

Rechercher des sujets similaires à "classement joueurs tournois"