SommeProd a modifier

Bonjour, petit casse tète que je n'arrive pas à resoudre :

j'ai un fichier excel que je n'ai pas construis. C'est un fichier de trésorerie.

Le principe (qui ne fonctionne pas) est le suivant:

  • La feuille synthèse est calculée en fonction de toutes les autres feuilles
  • La feuille param sert de paramétrage pour remplir la feuille synthese
  • toutes les autres feuilles sont l'ensemble de mes données.
  • La synthese doit faire une somme de ces données , une ligne = une feuille.

Par défaut la cellule C3 (compte) est vide, dans ce cas la tout fonctionne, chaque ligne de ma synthese fait bien les bonnes sommes.

Par contre quand je modifie ma cellule compte en sélectionnant BP par exemple, mon tableau de synthese devrait se filtrer en ne prenant en compte que les lignes des tous les onglets dont le compte est égal à BP.

La cellule C12 devrait par continuer l'exemple passer à zéro euros. Or ce n'est pas la cas.

Voici la formule qui est en cellule c12 :

=SI(OU(PARAMS!H$1="";PARAMS!$D3="");"";PARAMS!$C3*SOMMEPROD((INDIRECT("'"&PARAMS!$D3&"'!C2:C65000")>PARAMS!G$1)*((INDIRECT("'"&PARAMS!$D3&"'!C2:C65000")<=PARAMS!H$1))*(OU($C$3="";INDIRECT("'"&PARAMS!$D3&"'!A2:A65000")=$C$3))*(OU($C$4="";INDIRECT("'"&PARAMS!$D3&"'!B2:B65000")=$C$4));INDIRECT("'"&PARAMS!$D3&"'!D2:D65000")))

Sauriez vous me corriger cette formule ? si vous êtes arriver à me comprendre et a comprendre le fichier !!!

a noter que je ne peux faire des modification que sur la feuille synthèse , les autres sont issue d'une extraction

11tresorerie-1-220.xlsx (896.97 Ko)

Rebonjour,

j'ai un peu avancé selon moi , l'erreur se situe ici :

SI(OU(PARAMS!H$1="";PARAMS!$D3="");"";PARAMS!$C3*SOMMEPROD((INDIRECT("'"&PARAMS!$D3&"'!C2:C65000")>PARAMS!G$1)*((INDIRECT("'"&PARAMS!$D3&"'!C2:C65000")<=PARAMS!H$1))*(OU($C$3="";INDIRECT("'"&PARAMS!$D3&"'!A2:A65000")=$C$3))*(OU($C$4="";INDIRECT("'"&PARAMS!$D3&"'!B2:B65000")=$C$4));INDIRECT("'"&PARAMS!$D3&"'!D2:D65000")))

car si je modifie cette partie de la formule en mettant juste

 INDIRECT("'"&PARAMS!$D3&"'!A2:A65000")=$C$3)

Le résultat fonctionne car j'ai bien une somme faite par banque, par contre le critere sans banque (cellule C3 vide) ne fonctionne plus car il ne fait plus la somme totale de toutes les banques

Un peut d'aide svp, j'y suis presque!!

Bonjour,

Une proposition à étudier.

A défaut, elle te permettra peut-être de vérifier le calcul de tes formules.

Cdlt.

Merci Jean Eric,

c'est une bonne idée le tcd, mais comme je le disais , le fichier sert de modèle dans une extraction et je ne peux pas toucher ni modifier autre chose que l'onglet synthese

Voici comment j'ai pu obtenir un résultat mais c'est très très lent :

je fais un premier test pour vérifier si C3 est vide, et si vide, j'applique la formule que j'avais au départ, sinon j'applique la formule modifiée (celle ou je supprime la condition ou(c3=""c...) dans la partie surlignée...

mais ma formule devient :

=SI(ESTVIDE($C$3);
    SI(OU(PARAMS!H$1="";PARAMS!$D3="");"";PARAMS!$C3*SOMMEPROD((INDIRECT("'"&PARAMS!$D3&"'!C2:C65000")>PARAMS!G$1)*((INDIRECT("'"&PARAMS!$D3&"'!C2:C65000")<=PARAMS!H$1))*(OU($C$3="";INDIRECT("'"&PARAMS!$D3&"'!A2:A65000")=$C$3))*(OU($C$4="";INDIRECT("'"&PARAMS!$D3&"'!B2:B65000")=$C$4));INDIRECT("'"&PARAMS!$D3&"'!D2:D65000")));
    SI(OU(PARAMS!H$1="";PARAMS!$D3="");"";PARAMS!$C3*SOMMEPROD((INDIRECT("'"&PARAMS!$D3&"'!C2:C65000")>PARAMS!G$1)*((INDIRECT("'"&PARAMS!$D3&"'!C2:C65000")<=PARAMS!H$1))*(INDIRECT("'"&PARAMS!$D3&"'!A2:A65000")=$C$3)*(OU($C$4="";INDIRECT("'"&PARAMS!$D3&"'!B2:B65000")=$C$4));INDIRECT("'"&PARAMS!$D3&"'!D2:D65000")))
  )

le temps de chargement est doublé , (déjà que c'était assez long)...

Comment améliorer tout ca?!

Voici un version avec le résultat escompté, mais c'est vraiment moche comme formule et tres lent

personne pour améliorer ma formule svp?

Rechercher des sujets similaires à "sommeprod modifier"