Tri automatique avec formule matricielle

Bonjour,

Je souhaite trier de manière automatique et décroissante une liste de valeur (B8:B18) avec les entêtes de lignes associés (A8:A18) pour que les valeurs de B8:B18 se retrouvent en E8:E18 avec les entêtes qui vont bien en D8:D18.

Après des recherches sur le net, je suis tombé sur cette résolution de problème sur le site de microsoft qui semble correspondre à ce que je cherche :

Symptômes

)))

J'ai donc crée une plage de cellule B8:B18 (que j'ai nommé "localisation") et ai suivi la procédure ci-dessus.

Le tri décroissant s'effectue correctement en E8:E18 mais les entêtes ne correspondent plus à rien.

J'ai tenté d'englober A8:B18 dans la plage "localisation" mais cela ne fonctionne pas.

Si quelqu'un pouvait m'aiguiller, je lui en serais très reconnaissante.

Un grand merci d'avance.

Delphine

Bonjour,

Si j'ai bien conpris ta demande ...

Bonjour,

Merci pour ta réactivité !

J'ai du mal m'exprimer car je souhaite le tri en fonction des nombres et non des localisations !

Merci d'avance

Delphine

Re,

Désolé ...

Je sentais bien que j'avais loupé un truc ...

A +

un p'tit essai

224tri-automatique.xlsx (10.08 Ko)

Re,

Si les pays qui n'ont rien ne comptent pas ...

en un poil plus condensé

je passe par un artifice pour supprimer les doublons (fonction LIGNE() )

attention James aux ex-aequo ... même si pas égal à 0, j'ai le sentiment que pour départager il faut compléter le chiffre, par exemple avec LIGNE()/100; néanmoins je cherchais aussi une possibilité avec RANG mais je n'ai pas trouvé !

Merci à vous pour vos réponses.

J'ai tenté de l'adapter à mon fichier mais j'ai des erreurs.

J'ai pourtant essayé de modifier la formule selon mes plages de cellules en vain.

Pourriez-vous me dire là où je me suis trompée ?

Merci.

Delphine

Comme tu commences à la 8ème ligne, il faut mettre -7 et non -1 (dans mon exemple on commençait à la deuxième ligne)

=INDEX($A$7:$A$18;EQUIV(GRANDE.VALEUR($C$8:$C$18;LIGNE()-7);$C$7:$C$18;0))

autre solution :

=INDEX($A$7:$A$18;EQUIV(GRANDE.VALEUR($C$8:$C$18;LIGNE()-LIGNE($C$7));$C$7:$C$18;0))

où LIGNE($C$7) est justement égal à 7, c'est la ligne des titres

Mille merci à vous et bravo pour la réactivité de ce forum.

A bientôt.

Delphine

Rechercher des sujets similaires à "tri automatique formule matricielle"