Sous-total de moyenne pondérée

Bonjour à tous

J’aimerais avoir un sous-total qui me calcule une moyenne d’évolution de plusieurs lignes, mais pondérée en fonction du volume de chaque ligne, à placer en case E1 du fichier joint.
Actuellement, la fonction sous.total moyenne fonctionne mais fait bêtement la moyenne de chaque ligne, mais sans prendre en compte les volumes pondérés. J’aimerais à chaque fois que je fais un filtre, que ça me calcule la moyenne pondérée automatiquement.

J’avais pensé à combiner la fonction sous.total avec la sommeprod mais je n’y suis pas parvenue.

Auriez-vous une idée d’une formule sans passer par VBA ?

Merci d’avance
Test formule moyenne pondérée.xlsx (12,9 Ko)

Test formule moyenne pondérée.xlsx (12,9 Ko)

Hello Cow18
Merci pour ta proposition, mais j’ai l’impression que cela ne donne pas le résultat correct.
Exemple : si je filtre sur la marque Golden Star, cela donne un résultat de 6.4% alors que selon moi, cela devrait être -2.6%

-2.6%??? Test formule moyenne pondérée.xlsx (14,6 Ko)

Oui pour moi l’article 1 de Golden Star passe de 34 à 9 (-73.5%) et l’article 2 de 162 à 182 (+12.3%). On était donc à 162+34=196. 196 → 191 -2.6%

Test formule moyenne pondérée.xlsx (15,1 Ko)

Cela fonctionne ainsi mais reste plus compliqué que de faire une évolution simple entre deux sous-totaux de volume à comparer (initiaux/finaux).

comme vous voulez …
Test formule moyenne pondérée.xlsx (14,8 Ko)