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. 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
  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. 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