XL 2016 Trier des données à l'aide de formule

GeoTrouvePas

XLDnaute Impliqué
Bonjour tout le monde,

Je dispose sur un onglet d'une longue liste d'encaissements sur chacun de mes projets (X lignes sur 3 colonnes).
Sur un deuxième onglet, je souhaiterai faire apparaître cette même liste mais seulement avec les encaissements qui concernent une projet bien précis.

Est ce réalisable avec une simple formule ?

Je vous joins au passage un petit fichier test et je vous remercie par avance.
 

Fichiers joints

vgendron

XLDnaute Barbatruc
Hello
en C5
=INDEX(TabData;PETITE.VALEUR(SI($C$2=INDEX(TabData;;1);LIGNE(TabData);"");LIGNES($C$4:C4))-1;2)

en D5
=INDEX(TabData;PETITE.VALEUR(SI($C$2=INDEX(TabData;;1);LIGNE(TabData);"");LIGNES($C$4:C4))-1;3)

ce sont deux formules matricielles.. il faut valider par Ctrl+Maj+Entrée
des accolades apparaissent automatiquement
et il suffit de tirer les formules vers le bas

ha pardon. j'oubliais..
TabData, c'est le nom que j'ai donné à la zone A2:C10 de ta feuille Données
 

GeoTrouvePas

XLDnaute Impliqué
Merci pour votre solution.

A tout hasard, cela ne serait pas réalisable à en formules classiques ?
C'est juste que je ne suis pas le seul à me servir de ce tableau et je sens bien que la maintenance va me retomber dessus.
 

vgendron

XLDnaute Barbatruc
euh.. formule classique - en opposition à la solution macro fournie par jacky ? ---> voir ma réponse post 2
formule classique - en opposition à des formules "simples".. ? bah non. je vois pas..
 

R@chid

XLDnaute Barbatruc
Bonjour,
si la base de données est triée comme sur le fichier exemple, une formule classique est largement suffisante pour faire l'affaire.
en C5 :
Code:
=SI(LIGNES($5:5)>NB.SI(Données!$A:$A;$C$2);"";INDEX(Données!B:B;EQUIV($C$2;Données!$A:$A;0)+LIGNES($5:5)-1))
@ tirer vers le bas et vers la droite.


@ + +
 
Haut Bas