Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 classement avec conservation des doublons et éviter les sauts des chiffres.

saberamira

XLDnaute Nouveau
Je veux faire un classement avec conservation des doublons et éviter les sauts des chiffres.
cad un classement de 1; 2; 3 etc...
et les doublons reçoivent la même valeur.

Bien cordialement.
 

Pièces jointes

  • Classeur2.xlsx
    9.3 KB · Affichages: 8

job75

XLDnaute Barbatruc
Bonjour saberamira, Phil69970, le forum,

J'ai commencé par mettre le tableau sous forme de tableau structuré.

Puis formule matricielle en C2 à valider par Ctrl+Maj+Entrée et tirer à droite et vers le bas :
Code:
=EQUIV(A2-LIGNE()/1000000;GRANDE.VALEUR(INDEX(Tableau1;;COLONNE(A2))-LIGNE(Tableau1)/1000000;LIGNE(Tableau1)-1);0)
-LIGNE()/1000000 et -LIGNE(Tableau1)/1000000 permettent de distinguer les ex-aequo.

A+
 

Pièces jointes

  • Classeur2.xlsx
    12.6 KB · Affichages: 5

saberamira

XLDnaute Nouveau
Bonjour, merci, en fait, je veux par exemple que les doublons restent dans le classement mais avec la même notation cad par exemple, si on prend la ligne A, on trouve la valeur 15 trois fois, donc, je veux que les trois de 15 reçoivent le classement 7 par exemple et on continu par la suite vers la classe 8 et ainsi de suite.
 

saberamira

XLDnaute Nouveau
Bonjour, merci, en fait, je veux par exemple que les doublons restent dans le classement mais avec la même notation cad par exemple, si on prend la ligne A, on trouve la valeur 15 trois fois, donc, je veux que les trois de 15 reçoivent le classement 7 par exemple et on continu par la suite vers la classe 8 et ainsi de suite.
 

ALS35

XLDnaute Impliqué
Bonjour à tous,
Tu peux essayer en C3 et à recopier vers le bas :
VB:
=SOMMEPROD((1/NB.SI.ENS($A$3:$A$38;$A$3:$A$38))*($A$3:$A$38>A3))+1
si c'est bien ça que tu souhaites (pour un classement décroissant).
Cordialement
 

Pièces jointes

  • Classeur2 mod.xlsx
    9.7 KB · Affichages: 6

job75

XLDnaute Barbatruc
Voyez le fichier .xlsm joint et cette macro dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim col%, P As Range
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
With [Tableau1] 'tableau structuré
    For col = 1 To 2
        Set P = .Columns(col).Offset(, 100) 'colonne auxiliaire extérieure au tableau
        .Columns(col).Copy P
        P.RemoveDuplicates 1, Header:=xlNo 'supprime les doublons
        P.Sort P, xlDescending, Header:=xlNo 'tri décroissant
        .Columns(col + 2) = "=MATCH(" & .Cells(1, col).Address(0) & "," & P.Address & ",0)"
        .Columns(col + 2) = .Columns(col + 2).Value 'supprime les formules
        P.Clear
    Next
End With
Application.EnableEvents = True 'réactive les évènements
End Sub
Elle se déclenche quand on modifie ou valide une cellule quelconque.
 

Pièces jointes

  • Classeur2.xlsm
    17.3 KB · Affichages: 4
Dernière édition:

Discussions similaires

Réponses
4
Affichages
698
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…