Microsoft 365 VBA : Classement de nombres

  • Initiateur de la discussion Initiateur de la discussion Magicdog36
  • Date de début Date de début

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 !

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

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. 😉
 
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
 
- 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
14
Affichages
370
Réponses
1
Affichages
732
Réponses
10
Affichages
349
Retour