Tri en vba

Bonjour,
J'ai une colonne excel de 50 valeurs (sans vide)
Sans toucher à cette colonne je désirerai par vba trier virtuellement les différentes valeurs de cette colonne puis d'en conserver , toujours sous vba les 10 meilleures .
De retour à la feuille excel , les cellules correspondantes à ces 10 meilleures valeurs seront alors simplement colorées mais la colonne conservera ses valeurs initiales dans l'ordre initial

J'ajoute qu'une boucle serait nécessaire pour un nombre x de colonnes car en fait j'en ai un certain nombre !
Merci pour votre aide

4 réponses

  1. Bonjour,

    les 10 meilleures C'est quoi pour vous les 10 meilleurs ?????
    1. les 10 meilleures sont les 10 valeurs les plus fortes
    2. @frcbonjour

      je viens de recevoir votre rectification de code mais je n'avais pas reçu la première mouture ; pouvez vous me l'adresser ?

      Merci
    3. tu l'as
      soit sur le lien de mon post #2 (ci dessous)
      soit sur le lien du post de fs894009 du post #4
    4. @ccm81merci , c'est vu

      Meilleures salutations
  2. Bonjour,

    un exemple avec code un peu plus complique que CCM81 (salut a toi) mais qui pourra vous servir quand vous avez beaucoup plus de donnees a trier dans un autre fichier. Vous pouvez aussi adapter le code de CCM81 pour colorier les 10 valeurs les plus hautes

    https://www.cjoint.com/c/ECFiTBDbXEj
    1. Ah,
      pour les 10 valeurs les plus "fortes" modifier comme la ligne soulignée
          For li = 1 To n
      v = TS(n - li + 1)
      For lili = 1 To nbli

      Salut à f894009 en passant

      Cdlmnt
      1. Re,

        Voir plutot comme ceci vu que le tri reste ascendant:
        x = UBound(TS)
            If x <= 10 Then
                Deb = 1
            Else
                Deb = x - n
            End If
            For li = x To Deb Step -1
              v = TS(li)
              For lili = 1 To nbli
                If plage.Cells(lili, 1) = v Then plage.Cells(lili, 1).Interior.ColorIndex = 6
              Next lili
            Next li