Microsoft 365 VBA : Classement de nombres

Magicdog36

XLDnaute Nouveau
Bonjour à vous,

Contexte :
J'ai un exercice où je dois savoir qui est le meilleur fournisseur en fonction de plusieurs critères.
Pour cela, j'ai des critères qui rapportent plus ou moins des points.
J'ai fais un bouton pour calculer le résultat. Le résultat est affiché mais je voudrais refaire un bouton pour que sur la colonne de droite apparaisse le classement de mes fournisseurs.
Je voudrais que celui qui a le plus de points soit le numéro : 1 et ainsi de suite.

Problème : Je ne sais pas du tout comment on fait un classement en VBA.

Merci pour votre réponse!
Bonne journée à vous.
 

Pièces jointes

  • VBA Classement.xlsx
    20.8 KB · Affichages: 9

jmfmarques

XLDnaute Accro
bonjour
1) Ce que tu appelles "classement" s'appelle "tri" par ordre (croissant ou décroissant)
2) l'utilisation la plus élémentaire de l'enregistreur de macros (et des gestes Excel de tri évidents que tu feras ) te donnera l'essentiel du code VBA que tu demandes ici. ;)
 

GALOUGALOU

XLDnaute Accro
bonjour magicdoc36, bonjour jmfmarques, bonjour le forum
jmfmarques à raison, le tri suffit à mettre en évidence votre classement. il suffit d'ignorer la colonne L qui peux être numéroté par ordre croissant et l'enregistreur de macro vous aurais donné le code suivant. (de la ligne 16 à la ligne 500)
Enrichi (BBcode):
Sub tri_pour_classement()
    Range("A16:k500").Select
    ActiveWorkbook.Worksheets("Affectation des scores").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Affectation des scores").Sort.SortFields.Add Key:= _
        Range("K16:K500"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("Affectation des scores").Sort
        .SetRange Range("A16:K500")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
        Range("A1").Select
End Sub
cordialement
galougalou
 

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote