Somme conditionnelle et entre borne
Bonjour à tout le monde,
Je viens sur ce forum car je suis confronté à un petit problème.
Je suis en train de mettre au point une feuille de calcul Excel et je bloque sur une partie plutôt complexe.
Voici mon problème :
Je dois être capable de faire la somme et dans la colonne d'à côté un calcul simple en fonction de la valeur dans une cellulle.
en clair.
indice jour/////////Poids///////////////Somme d'une journée////////Lancement du calcul
//////0///////////34500/////////////////////non///////////////////////non
//////1///////////23000////////////Lancement de la somme///////////////oui
//////0///////////27000/////////////////////non///////////////////////non
//////0///////////41500/////////////////////non///////////////////////non
//////0///////////31000/////////////////////non///////////////////////non
//////0///////////15000/////////////////////non///////////////////////non
//////1///////////11050////////////Lancement de la somme///////////////oui
//////0///////////12500/////////////////////non///////////////////////non
Pour le lancement du calcul, pas de souci si indice <>0 je lance le calcule sinon je laisse un blanc ("")
Par contre la ou je pêche c'est concernant le lancement de la somme, car la petite suptilité réside dans le fait qu'il faut lancer la somme sur la même condition que le calcul cad indice <>0, mais que le contenu de la somme doit être les chiffres contenu entre deux indices <>0 en excluant le nombre de l'indice du dessus et incluant le nombre de l'indice du dessous.(les chiffre que j'ai mis en gras) Et ceux pour le mois complet donc généralement 22 à 23 jour de travail avec un nombre de poids aléatoire par jour...chaque cellule de la colonne qui doit etre capable de faire une somme.
Est-ce que mon problème inspire quelqu'un???
Merci d'avance à tous ceux qui tenterons de me donner un coup de main...
A bientôt.
Vince
Bonjour RSVince76,
Si j'ai bien compris et si le "tableau" que tu nous as "dessiné" correspondant à ta feuille de calcul, tu peux mettre cette formule en C2 :
=SI(A2<>0;SOMME(DECALER(B2;1;;EQUIV(1;A3:$A$9;0)));"non")Un fichier joint, ç'aurait été mieux !
Bonjour,
Je fait suite à ta réponse et commence déjà par t'en remercier.
J'ai joint à ce message une partie de mon fichier excel car trop gros pour exporter la totalité sur le forum.
Concernant la formule que tu m'as communiquée,il reste encore des points qui ne vont pas.
J'ai appliqué ta formule dans le tableau en lieu est place et j'ai créé une colonne à sa gauche pour comparer avec le résultat attendu... il n'y a peut être pas grand chose...
Je te laisse me dire ce que tu en penses...
Sur ce fichier il y a également un deuxième point dans l'onglet intitulé graph, penses tu possible un export des données Colonne J et K de la feuille formats lorsque que tu as la colonne conditionnelle H<>0, dans la feuille Graph comme fais en exemple.
Merci.
A bientôt.
Vince.
A bientôt.
-- 05 Fév 2010, 14:37 --
Ps : Si toi ou d'autre personnes ont des critiques à formuler sur ma feuille de calcul, je suis preneur...
Vince.
Re,
Pour ta première demande :
1. Insère une colonne entre I et J.
2. En J1 laisser vide. En J2 :
=(H2<>0)*13. En K2 :
=SI(H2<>0;SOMME(DECALER(G2;-LIGNE()+SOMMEPROD(MAX(($J$1:J1)*LIGNE($H$1:H1)))+1;;LIGNE()-SOMMEPROD(MAX(($J$1:J1)*LIGNE($H$1:H1)))));"non")La colonne intermédiaire c'est pour éviter une formule matricielle. La solution est sans doute améliorable par les vrais formulistes.
Pour ta seconde demande, je laisse la place à ces mêmes formulistes !
RE,
Merci de t'intéresser à mon problème, mais après avoir effectué les manipulations dont tu m'as parlé j'obtient le fichier ci-dessous qui m'affiche une erreur "#Valeur!".
Après c'est peut être moi qui ne suis pas doué.
Je joint le fichier...
-- 05 Fév 2010, 15:34 --
Avec le fichier c mieux...
-- 05 Fév 2010, 15:41 --
C'est bien comme dit précédemment... C'était une mauvaise manipulation de ma part.
J'ai encore une fois voulu aller trop vite...
Merci à toi pour cette aide qui va me faire gagner un temps fou...
Pour reprendre ton expression ya t'il beaucoup de formuliste ici qui pourrait m'aider dans mon second problème???
-- 05 Fév 2010, 16:17 --
Je joint, pour les personnes qui pense pouvoir m'aider, la version avec la formule que m'a transmis vba-new fonctionnant.
Après l'aide de "vba" il ne me reste plus qu'a résoudre le problème de l'importation des données dans la partie graph...
Si l'inspiration vient à quelqu'un je suis preneur...
Merci à tous...
re,
Apparemment, personne veut
Qu'à cela ne tienne, voici ton fichier en retour :
Ce sont des formules matricielles validées par Ctrl+Maj+Entrée au lieu d'Entrée.
Le formule (adaptée) provient de Boisgontier
Bonjour
Si, moi je veux (Mais tu as été plus rapide, quoique nos formules différent légérement)
vba-new, tu te cultive..
Cordialement
Bonjour Messieurs,
Une grand merci à tous les deux...
Vos fichiers marchent tout deux nikel.
Il faut juste que je teste dans les fichier originaux car ils étaient trop gros pour que je puisse les mettre à dispo sur le forum... Faut que je reprenne les formule et que j'augmente le nombre de ligne.
Je vous tiens au courant de l'évolution du projet une fois que celui-ci sera finalisé...
Encore une fois merci encore, vous m'avez enlever une épine du pied et aller me faire gagner pas mal de temps...
Bon weekend à tous les deux.
@ Bientot.
Vince.
Bonjour Vba-news et Amadéus,
Je reviens vers vous car je suis train d'essayer d'appliquer vos formule à mes feuilles de calcul qui ont plus de ligne...
Pourtant j'ai modifié les formule mais je rencontre encore des message d'erreur.
Merci à tous les deux.
Cordialement.
Vincent.
Salut vincent, forum,
En B4 de la feuille "GRAPH" mets cette formule :
=SI(LIGNES($1:1)<=NB(Formats!$J$2:$J$170);INDEX(Formats!$J$2:$J$170;PETITE.VALEUR(SI(Formats!$J$2:$J$170<>"";LIGNE(INDIRECT("1:"&LIGNES(Formats!$J$2:$J$170))));LIGNES($1:1)));"")Cette formule étant une formule matricielle, elle est à valider avec Ctrl+Maj+Entrée. Si la formule précédente ne marchait pas c'est parce qu'elle tenait compte des "non" qui apparaissaient dans la colonne J dans ton précédent fichier. Dans le fichier actuel, tu as remplacé ces "non" par un vide.
La 2è formule est juste mais il faut que tu la valides avec Ctrl+Maj+Entrée.
C bon tout fonctionne pour moi...
Un grand merci à vous deux.
Cordialement.
Vincent.