meazfpc a écrit :
Bonjour à tous,
Voilà je que j'essaye de faire:
J'ai un tableau avec une colonne qui contient des nombres....
J'aimerai sur une ligne afficher ces nombres en affichant d'abord le plus grand, ensuite le plus grand qui suit, et ainsi de suite...
Comment faire??
merci beaucoup
Salut
A1:A20 : liste de nombres
Résultat attendu : B15 : le nombre le plus grand / B16 le suivant en décroissant, etc...
B15 : =SI(ESTERR(GRANDE.VALEUR($A$1:$A$20;LIGNE()-14));"";GRANDE.VALEUR($A$1:$A$20;LIGNE()-14))
Explication Formule
B15 : =Si(Test; A ; B) => si test=Vrai =B15= A sinon, B15=B
B15 =esterr(X) : si X renvoi un code d'erreur, B15=Vrai sinon, B15=Faux
=>
B15 : =SI(ESTERR(Formule);"";Formule) : si la formule renvoie un code d'erreur : B15=""
Si la formule ne renvoie pas de code d'erreur : B15= résultat formule
B15 : =Ligne()-14 :Ligne() renvoie le numéro de ligne où se trouve la formule Donc 15 et comme on lui enlève 14 => B15=15-14=1
permet de faire évoluer le rang de la formule ci-après, en recopiant vers le bas
B15 : =GRANDE.VALEUR($A$1:$A$20;X) renvoie la Xème valeur la plus grande de A1:A20
$A$1 : adressage absolu/absolu : tu peux recopier ta formule, ou tu veux, l'adresse est figée par rapport à la page
Donc, pour ta valeur la plus grande, il faut que le résultat soit égal à 1 dans la formule :
Ligne()-X
X est une constante, pour que la formule augmente de 1 à chaque ligne.
Si tu veux la même chose en horizontal, la formule devient :
Colonne()-X
En espérant avoir été assez clair
A+
EDIT Salaud de dre : pendant que je rédigeais, il m'a piqué ma réponse
Mais je reviendrais et ma réponse sera la plus rapide