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