Problème pour réaliser un classement

seed

XLDnaute Nouveau
Bonjour à tous,

Je ne sais pas quelles formules utiliser pour faire mon tableau. En clair j'ai deux onglets. L'un est ma base de donnée, l'autre doit faire un classement en fonction de cette base (l'onglet cyclocross).

Pour essayer de faire simple, je vais prendre un exemple. Je dois retrouver en A5 le numéro de dossard 1 car en A2 j'ai sélectionné "prélicenciés". Par contre, je dois avoir en A5 le numéro de dossard 9 si je sélectionne pupilles, etc.

Je joins le fichier.

Merci.
 

Pièces jointes

  • Classement.xls
    16.5 KB · Affichages: 59
  • Classement.xls
    16.5 KB · Affichages: 64
  • Classement.xls
    16.5 KB · Affichages: 65

Efgé

XLDnaute Barbatruc
Re : Problème pour réaliser un classement

Bonjour seed, Bonjour hoerwind :),
Une proposition par macro. Si nécessaire, je commenterai le code demain.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i&, j&, k&, Tabreport(), NbrCol&
NbrCol = 5 ' Nombre de colonnes à copier
If Not Intersect(Target, Cells(2, 1)) Is Nothing Then
    With Sheets("Base de donnée")
        For i = 5 To .Cells(Rows.Count, 1).End(xlUp).Row
            If .Cells(i, 5) = Target.Value Then
            k = k + 1
            ReDim Preserve Tabreport(1 To NbrCol, 1 To k)
            For j = 1 To NbrCol
                Tabreport(j, k) = .Cells(i, j)
            Next j
            End If
        Next i
    End With
    Range(Cells(5, 1), Cells(Rows.Count, NbrCol).End(xlUp).Offset(1, 0)).ClearContents
    If k > 0 Then Cells(5, 1).Resize(k, NbrCol) = Application.Transpose(Tabreport)
End If
End Sub
Cordialement
 

Pièces jointes

  • Classement(2).xls
    29.5 KB · Affichages: 85
  • Classement(2).xls
    29.5 KB · Affichages: 78
  • Classement(2).xls
    29.5 KB · Affichages: 79

seed

XLDnaute Nouveau
Re : Problème pour réaliser un classement

La formule fonctionne mais j'aurais une dernière question. Est-ce qu'il est possible d'avoir à la ligne 14 pour les pré-licenciés le nombre 15 au lieu d'avoir le chiffre 14, 6 fois de suite ?

Merci par avance.
 

Pièces jointes

  • Classement.xls
    18 KB · Affichages: 59
  • Classement.xls
    18 KB · Affichages: 57
  • Classement.xls
    18 KB · Affichages: 58

seed

XLDnaute Nouveau
Re : Problème pour réaliser un classement

Bonjour Efgé, je n'avais pas vu ta macro lorsque j'ai envoyé mon message. Elle fonctionne très bien mais il me faudrait plus d'explications car je ne maitrise absolument pas les macros.
 

seed

XLDnaute Nouveau
Re : Problème pour réaliser un classement

Merci également pour cette formule matricielle qui est incompréhensible pour moi mais qui fonctionne très bien. Si Efgé me donne plus de détails je verrai entre sa macro ou cette formule.

Merci pour tout en cas !
 

Efgé

XLDnaute Barbatruc
Re : Problème pour réaliser un classement

Bonjour à tous, au fil, au forum
Le code est commenté dans le fichier (pour éviter un post trop long)
Cordialement
 

Pièces jointes

  • Classement(Commentaires).xls
    31.5 KB · Affichages: 55
  • Classement(Commentaires).xls
    31.5 KB · Affichages: 56
  • Classement(Commentaires).xls
    31.5 KB · Affichages: 54

seed

XLDnaute Nouveau
Re : Problème pour réaliser un classement

J'ai essayer de toucher à la macro mais je n'y arrive pas. Je veux simplement que cela me prenne en compte la valeur temps. Après je ne pense pouvoir effectuer le classement grâce à rang() et faire un tri croissant sur le classement.

Je joins le fichier avec les nouveaux onglets car je n'arrive pas non plus à lancer la macro des des nouveaux onglets.
Exsiterait-il un dictatiel très simple pour commencer avec les macro car le rendu final à l'air bien mieux que les formules ?!

Merci par avance !
 

Pièces jointes

  • Classement(Commentaires).xls
    39 KB · Affichages: 48
  • Classement(Commentaires).xls
    39 KB · Affichages: 47
  • Classement(Commentaires).xls
    39 KB · Affichages: 48

Efgé

XLDnaute Barbatruc
Re : Problème pour réaliser un classement

Re
Pour qu'une macro evennementielle fonctionne il faut qu'elle soit présente dans chaque feuille où l'on en a besoin.
J'ai modifié le code (il est dans le module 1 et chaque feuille appelle la macro).
Regarde le fichier et dis nous si cela te va.
J'ai ajouté des commentaires pour les lignes que j'ai modifiées ou ajoutées.
Cordialement
 

Pièces jointes

  • Classement(3).zip
    15.5 KB · Affichages: 35

seed

XLDnaute Nouveau
Re : Problème pour réaliser un classement

C'est nickel !
Il est vrai que j'ai un peu de mal avec la programmation excel. Je me débrouille avec des formules mais n'ayant jamais utilisé de macros et ne connaissant que depuis peu l'existence de celles-ci je dois avouer que c'est pour moi très compliqué. Il va falloir que je m'y mette très sérieusement !

En tous cas merci beaucoup pour l'aide apportée !
 

Efgé

XLDnaute Barbatruc
Re : Problème pour réaliser un classement

Re
Une version qui prend en compte le classement (par formule écrasée). Les commentaires sont dans le code.
Cordialement
 

Pièces jointes

  • Classement(4).zip
    15.6 KB · Affichages: 34

seed

XLDnaute Nouveau
Re : Problème pour réaliser un classement

Décidemment je n'y arrive pas avec les macros. Je créé un nouvel onglet qui s'appelle classement général. J'exécute la macro dans l'onglet et cela marche. Le seul souci c'est que lorsque je change de catégorie (je passe de poussins à pupilles), les résultats restent les mêmes.
J'aimerai savoir comment on peut intéger la macro à la nouvelle feuille ?!

Normalement, il s'agit de ma dernière question !
 

Efgé

XLDnaute Barbatruc
Re : Problème pour réaliser un classement

Re
Tu change la structure de ton fichier ?
Si il n'y a pas de colonne "Classement général" sur ta feuille "Base de donnée" le code ne trouvera rien.
Si non, il faut faire un click droit sur l'onglet de la nouvelle feuille puis Visualiser le code.
Coller ceci:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Cells(2, 1)) Is Nothing Then Tri
End Sub
Comme dis précédemment, il faut que le code d'une macro évenementielle soit dans le code de la feuille concernée pour qu'il se déclenche :cool:.
Si non, un bonus, que j'avais omis, le tri du résultat sur le classement :).
N'hésite pas à poser tes questions, au besoin avec un nouvel exemple de ton fichier (le plus près possible de la structure du fichier final...), si je peux t'être utile....
Cordialement
 

Pièces jointes

  • Classement(4b).zip
    16.2 KB · Affichages: 27
Dernière édition:

seed

XLDnaute Nouveau
Re : Problème pour réaliser un classement

Pas de problème pour la visualisation du code. Par contre, lorsque je tape le code VBA dans le classement général (nouvel onglet), le classement met #N/A. Je ne vois pas ici où se trouve l'erreur.
 

Pièces jointes

  • Classement(4b).xls
    49 KB · Affichages: 56
  • Classement(4b).xls
    49 KB · Affichages: 51
  • Classement(4b).xls
    49 KB · Affichages: 55

Discussions similaires

Réponses
4
Affichages
282

Statistiques des forums

Discussions
312 177
Messages
2 085 971
Membres
103 073
dernier inscrit
MSCHOE16