Calcul sur tableau filtré contenant des valeurs

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
 
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😀45)*SOUS.TOTAL(3;DECALER(B2;LIGNE(B1:B43)😉))
Retournera la somme des valeurs des lignes de la plage D3😀45 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
 
: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:
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Formule Excel
Réponses
4
Affichages
112
Réponses
1
Affichages
256
Retour