Bonsoir,
1ere méthode: La formule matricielle est écrite une seule fois dans un champ
-Sélectionner D2:D1000
=INDEX(champ;EQUIV(GRANDE.VALEUR(NB.SI(champ;">="& champ);LIGNE(INDIRECT("1:"&LIGNES(champ))));
NB.SI( champ;">="&champ);0))
-Valider avec Maj+ctrl+entrée
Pour 1.000 éléments, si on modifie une cellule le temps de recalcul est < 1sec
2eme méthode :La formule est écrite dans la cellule D2 puis recopiée
=SI(LIGNES($1:1)<=NBVAL(champ);INDEX(champ;EQUIV(P ETITE.VALEUR(NB.SI(champ;"<"&champ);LIGNES($1:1));
NB.SI(champ;"<"&champ);0));"")
-Valider avec Maj+ctrl+entrée
Pour 1000 éléments, si on modifie une cellule, le temps de recalcul est >10 sec
En plus du gain de temps lorsque la formule est écrite une seule fois dans un champ, il y a un gain de place mémoire.
Ceuzin