Macro pour trier et filtrer les plus grands montants

melba

XLDnaute Occasionnel
Bonjour,

Une fois de plus j'ai besoin de votre aide.

Sur une feuille j'ai en cellule D4 : un nombre par exemple 5 ( correspond au nombre de montants que je veux sélectionner dans la colonne d'un tableau ). Ce nombre peut varier.

En colonne B, de la cellule 11 à 110 j'ai des années ( une année ne figure qu'une fois).
En colonne C, de la cellule 11 à 110 j'ai les montants correspondant aux années.

Je voudrais à l'aide d'une macro :

1) copier dans une colonne D les montants de la colonne C
2) trier dans la colonne E ces mêmes montants du plus grand au plus petit
3)Dans la colonne F je voudrais que ne soient affichés que les 5 premiers montants ( si j'ai mis 5 en d4).
La difficulté est pour moi de faire apparaître en colonne F que le nombre de montants que je choisis en D4.
S'il est possible de faire tout ceci sans macro mais avec des formules uniquement je suis aussi preneur.
Je l'ai fait avec des formules mais bloque à la dernière étape.

Merci par avance.
 

Pièces jointes

  • Melba.xls
    21 KB · Affichages: 100
  • Melba.xls
    21 KB · Affichages: 105
  • Melba.xls
    21 KB · Affichages: 106

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro pour trier et filtrer les plus grands montants

Bonjour Melba,
Je voudrais à l'aide d'une macro :

1) copier dans une colonne D les montants de la colonne C
2) trier dans la colonne E ces mêmes montants du plus grand au plus petit
3)Dans la colonne F je voudrais que ne soient affichés que les 5 premiers montants ( si j'ai mis 5 en d4).
La difficulté est pour moi de faire apparaître en colonne F que le nombre de montants que je choisis en D4.
S'il est possible de faire tout ceci sans macro mais avec des formules uniquement je suis aussi preneur.
Je l'ai fait avec des formules mais bloque à la dernière étape.
Macros ou formule ??????????????

à+
Ph
 

JCGL

XLDnaute Barbatruc
Re : Macro pour trier et filtrer les plus grands montants

Bonjour à tous,
Salut Philippe,

Un essai sans macro comme demandé dans l'énoncé mais qui est en contradiction avec le titre du sujet.

A+ à tous
 

Pièces jointes

  • JC Melba.xls
    33 KB · Affichages: 165

hoerwind

XLDnaute Barbatruc
Re : Macro pour trier et filtrer les plus grands montants

Bonjour, salut phlaurent,

Pas très explicite : tri croissant ou décroissant, faire suivre les années, ... ?

Avec sous l'exemple les résultats attendus ce serait certainement plus facile à comprendre.
A tout hasard, petit exemple par formules en pièce jointe.
 

Pièces jointes

  • TriEtExtraction.xls
    31 KB · Affichages: 137

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro pour trier et filtrer les plus grands montants

Re,

une solution sans macro

à+
Philippe

EDIT: pas rafraichi avant d'envoyer
Bonjour Jean-Claude, Hoerwind
 

Pièces jointes

  • 111.xls
    34 KB · Affichages: 157
  • 111.xls
    34 KB · Affichages: 160
  • 111.xls
    34 KB · Affichages: 164
Dernière édition:

melba

XLDnaute Occasionnel
Re : Macro pour trier et filtrer les plus grands montants

Merci beaucoup pour toutes ces réponses et pour votre réactivité.

Je vais les tester et vous tiens au courant.

Pour répondre à Hoerwind, je voulais un tri du plus grand nombre au plus petit et que les années correspondant aux montants retenus suivent.

A bientôt
 

melba

XLDnaute Occasionnel
Re : Macro pour trier et filtrer les plus grands montants

Bonjour à tous,

J'essaie de comprendre les formules de Hoerwind et souhaiterais quelques explications :
que signifie : lignes($1:1)? J'ai vu que cette formule donne le nombre de lignes d'une matrice mais que veut dire $1:1 ?
Que veut dire nb(c:c)? La formule nb donne le nombre de cellules contenant des nombres, est ce que c:c veut dire la plage entière constituée par la colonne c?

J'ai aussi un peu de mal avec les formules INDEX et EQUIV

Merci par avance
 

hoerwind

XLDnaute Barbatruc
Re : Macro pour trier et filtrer les plus grands montants

Bonjour,

=LIGNES($1:1)
Cette fonction compte le nombre de lignes de la matrice spécifiée sous l'argument et s'incrémente en la copiant vers le bas : LIGNES($1:1), LIGNES($1:2), LIGNES($1:3), ... et renvoie 1, 2, 3, ...
Elle s'apparente à la fonction LIGNE() saisie en ligne 1, mais a pour avantage que l'incrémentation commence par 1 peu importe la cellule dans laquelle la fonction LIGNES() est saisie.

=NB(C:C)
Cette fonction compte le nombre de valeurs numériques de la matrice spécifiée sous l'argument.
Elle peut être fixée de façon absolue, relative ou semi-absolue : NB(C1:C10), NB(C$1:C$10), NB(C$1:C10), ...
Ne connaissant pas le fichier réel, C:C prend toute la colonne en compte, mais il est souhaitable de spécifier la matrice exacte.

INDEX et EQUIV
Cette combinaison de fonction s'apparente à la fonction RECHERCHEV mais permet de renvoyer une valeur située à la gauche de la colonne de recherche (ce que RECHERCHEV ne permet pas).
INDEX(la colonne contenant la valeur à renvoyer;EQUIV(la valeur cherchée; la colonne contenant la valeur cherchée; 0 si la valeur exacte doit être trouvée et omis pour renvoyer la valeur précédente à la première valeur supérieure à la valeur cherchée)

J'espère avoir été clair.
Il est toujours possible de consulter l'aide MS (touche clavier F1)
 

melba

XLDnaute Occasionnel
Re : Macro pour trier et filtrer les plus grands montants

Bonjour,
Merci pour ces explications.

Je vais essayer de les comprendre mais je ne suis pas très initiée . Déjà je bute sur le mot "incrémente" quelques recherches s'imposent.

A moi de travailler. Je dois aussi regarder toutes les autres propositions qui ont été faites.

Ce forum est vraiment formidable. Encore un grand merci à tous.
 

Discussions similaires

Réponses
4
Affichages
240

Statistiques des forums

Discussions
312 196
Messages
2 086 094
Membres
103 116
dernier inscrit
kutobi87