macro classement tableau

  • Initiateur de la discussion Initiateur de la discussion Tolie
  • 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 !

Tolie

XLDnaute Nouveau
Bonjour
J’aimerais faire une macro Excel pour classer un tableau comme ci dessous (exemple avec seulement trois données) :

Nom notes classement
Hibou 5
Chou 8
Genou 3

Je cherche a remplir la colonne classement (ici ca serait 2, 3, 1) et que la macro me retourne un message a la fin du style « le premier est Genou ». J’ai un peu de mal à programmer (une fois le classement fait avec la fonction Large et un compteur, je n’arrive pas a retourner le nom du candidat en question) . Quelqu’un peut m’aider ? Merci beaucoup !
 
Re : macro classement tableau

Bonjour

Tu n'as pas besoin de macro, tu peux utiliser cette formule :

=RANG(B2;$B$2:$B$4;1)
(si je considère que ton exemple commence en A2 jusqu'à B4)

pour la boite de message :

Sub Macro1()
Range("c2").Select
While ActiveCell <> 1
ActiveCell.Offset(1, 0).Select
If ActiveCell = "" Then
End
End If
Wend
MsgBox ("Le premier est " & ActiveCell.Offset(0, -2))
End Sub


Bonne journée
 
Dernière édition:
Re : macro classement tableau

bonjour tolie

une proposition en piece jointe.

le code :

Code:
Sub Bouton1_QuandClic()
Dim plage As Range
Dim c As Range

Set plage = Range("b2:b" & Range("b65536").End(xlUp).Row)

For Each c In plage
    c.Offset(0, 1) = Application.Rank(c, plage)
Next c

Set c = Columns(3).Find(1)

If Not c Is Nothing Then
    MsgBox "Le premier est " & c.Offset(0, -2)
End If
    
End Sub
salut
 

Pièces jointes

Re : macro classement tableau

Merci pour ta reponse GPLionel. Ca marche bien. Mais est ce que ca serait possible d'integrer le tout dans un unique bouton? comment faire pour integrer la fonction range dans la macro? et sinon comment faire pour afficher egalement le nom du dernier?
 
Re : macro classement tableau

re

apparement je suis devenu invisible, tant mieux, personne verra mes conneries comme ca. alors continuons gaiement, pour connaitre le dernier :
Code:
Sub Bouton1_QuandClic()
Dim plage As Range
Dim c As Range
Dim dernier As Range

Set plage = Range("b2:b" & Range("b65536").End(xlUp).Row)

For Each c In plage
    c.Offset(0, 1) = Application.Rank(c, plage, 1)
Next c

Set c = Columns(3).Find(1)
Set dernier = Columns(3).Find(Application.Max(Columns(3)))


If Not c Is Nothing Then
    MsgBox "Le premier est " & c.Offset(0, -2) & ", le dernier est " & dernier.Offset(0, -2)
End If
    
End Sub
salut 😀
 
- 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
2
Affichages
319
Réponses
1
Affichages
331
Retour