Calcul sur tableau filtré contenant des valeurs

  • Initiateur de la discussion googoose
  • Date de début
G

googoose

Guest
Bonjour à tous, quelle merveilleuse source de connaissance que ce site!!!

Mais, j'ai mal aux yeux à force de chercher une solution à mon problème et comme je ne trouve pas, je vais vous l'exposer.

Je crois savoir que la fonction SOUS.TOTAL sait très bien sommer des nombres ou calculer le nombre de valeur ou sommer les cellules vide etc...dans un tableau filtré.

Ce que je cherche à faire, en plus du nombre de valeurs, c'est que cette formule me permette de calculer un nombre de valeurs spécifique. Je m'explique :

En ordonnée du tableau des personnes, en deuxième colonne, le nom du groupe auquel elles appartiennent et en troisième colonne leur affectation, par exemple 'Vte' pour vente, 'Bck' pour Back office etc..
Je filtre ce tableau sur la colonne 'groupe'.
Ce que je cherche à obtenir au bas du tableau, c'est sur une ligne la somme des affectations 'Vte' et sur une autre les affectation 'Bck' lorsque le filtre est activé.

Est ce possible par une formule qui s'appuie sur 'SOUS.TOTAL' ou dois je passer par une macro. Dans ce cas comment puis je déclancher la macro en actionnant le filtre?

D'avance je vous remercie et bon courage à tous :lol:
 

JeanMarie

XLDnaute Barbatruc
Bonsoir

Avec cette formule matricielle (à valider par Ctrl+Shift+Entrer)
=SOMME((B3:B45='XLD')*(C3:C45='VBA')*SOUS.TOTAL(3;DECALER(B2;LIGNE(B1:B43);)))
Cette formule va te retourner le nombre de valeurs qui correspondent au groupe XLD faisant du VBA et qui sont affichées.

=SOMME((B3:B45='XLD')*(C3:C45='VBA')*(D3:D45)*SOUS.TOTAL(3;DECALER(B2;LIGNE(B1:B43);)))
Retournera la somme des valeurs des lignes de la plage D3:D45 qui correspondent au deux questions, et qui sont affichées.

Respecte les longueurs des plages, dans la plage B3:B45, B3 est la première ligne qui contient une donnée. Dans DECALER(B2;... la ligne 2 contient les entêtes de colonnes, et pour finir LIGNE(B1:B43) doit toujours commencer à la première ligne.

@+Jean-Marie
 

googoose

XLDnaute Nouveau
:unsure:
Désolé Jean Marie c'est pas bon. J'ai essayé différentes variantes sans obtenir le résultat voulu.
Tu me mets dans ta formule une condition sur la valeur du groupe, or c'est mon filtre qui détermine le groupe.

Tout ce que je voudrais obtenir c'est au bas de mon tableau, dès que j'active mon filtre sur les groupes, sur une ligne, le total des 'Vte' et sur une autre le total des 'Bk',

C'est dur !! mais je ne perds pas espoir !

:angry:
 

JeanMarie

XLDnaute Barbatruc
Re

Regarde le fichier joint, j'ai supprimé un critère dans la formule.

@+Jean-Marie [file name=SommeSiSurFiltre.zip size=1938]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SommeSiSurFiltre.zip[/file]
 

Pièces jointes

  • SommeSiSurFiltre.zip
    1.9 KB · Affichages: 44

Celeda

XLDnaute Barbatruc
Bonjour,

En confirmation des écrits de Patrick : en TCD

Décocher dans Client ce que l'on ne veut pas voir afficher.


Celeda [file name=SommeSiSurFiltreTCD.zip size=5140]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SommeSiSurFiltreTCD.zip[/file]
 

Pièces jointes

  • SommeSiSurFiltreTCD.zip
    5 KB · Affichages: 33

googoose

XLDnaute Nouveau
Hourra Jean Marie !!!!!

J'ai trouvé, meuh non pas moi.

Sur le site d'Eric Renaud, perdu parmis d'autres formules il y avait celle-ci, exactement ce que cherchais. Je vous la livre pour que vous puissiez la mettre dans un coin de votre ordi.

{=SOMMEPROD((E4:E15='Cai')*SOUS.TOTAL(3;DECALER($D4;LIGNE($D4:$D15)-LIGNE($D4);)))}

Avec en pièce jointe un exemple de ce que je voulais.


Meric à toi et à tous les autres de vous être penchés sur ma question.
@+ (et avec plaisir)

googoose
 

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 365
Membres
103 528
dernier inscrit
maro