rechercher les 5 plus grandes valeurs d'une colonne

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

paskikic

XLDnaute Occasionnel
slt les xlnautes
j ai un petit code vba pour recuperer mes 3 plus grdes valeurs, jusque la tout va bien mais le soucis arrive qd j ai deux valeurs identiques il me zap la deuxieme et moi je voudrais les 3 valeurs les plus randes meme si elles sont identiques .... et je ne sais comment faire....

voici le code a modifier en attendant un grand merci....


Dim x As Byte

Dim Nombre As Single
Dim Ligne As Long

For x = 1 To 3 'boucle pour récupérer les 3 valeurs les plus eleveées

'récupère la Xieme valeur la plus élevée dans la 2eme colonne
Nombre = Application.WorksheetFunction.Large(Columns(2), x)

'recherche le numéro de ligne pour la valeur trouvée
Ligne = Application.Match(Nombre, Columns(2), 0)

'récupère le contenu de la 1ere colonne pour la valeur cible
MsgBox ("ligne") & Cells(Ligne, 1)

Next x
 
Re : rechercher les 5 plus grandes valeurs d'une colonne

Bonjour le forum

a tester
Code:
Sub test()
Dim x As Byte
 Dim Nombre As Single
 Dim Ligne$(2), i&, Compteur%, Lg&
 For x = 1 To 3 'boucle pour récupérer les 3 valeurs les plus eleveées
 'récupère la Xieme valeur la plus élevée dans la 2eme colonne
 Nombre = Application.WorksheetFunction.Large(Columns(2), x)
 If Compteur >= 2 Then Exit For
 'recherche le numéro de ligne pour la valeur trouvée
 Lg = Application.Match(Nombre, Columns(2), 0)
 i = Lg + 1
 Ligne(Compteur) = Lg
Do
  If Cells(i, 2) = Nombre Then
    If Compteur >= 2 Then
      Exit For
    Else
      Compteur = Compteur + 1
      Ligne(Compteur) = i
    End If
  End If
  i = i + 1
Loop Until Cells(i, 2) = ""
 'récupère le contenu de la 1ere colonne pour la valeur cible
Compteur = Compteur + 1
 Next x
 For i = 0 To UBound(Ligne)
  MsgBox "ligne :" & Ligne(i)
Next
End Sub
 
Re : rechercher les 5 plus grandes valeurs d'une colonne

merci jpb388


ton code me sort de la panade mais il y a un bug qd la plus grande valeur est en double ou plus en premiere position il m indique toujours la meme ligne

mais t es un chef qd meme
 
- 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
5
Affichages
525
Retour