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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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+
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.
 
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+
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.
 
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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
620
Réponses
1
Affichages
57
Réponses
2
Affichages
113
Réponses
5
Affichages
340
Retour