Somme sur plusieurs Feuilles avec condition

Résolu/Fermé
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 - 23 févr. 2022 à 16:39
 JB22 - 27 févr. 2022 à 14:56
Bonjour,

Sur un classeur avec plusieurs feuilles, je voudrais faire la somme de la cellule R86 si sa valeur est positive.

J'ai essayé ça mais ça ne marche pas :
=SOMME.SI('WBM (1):OBM (93)'!R86;">0")

Merci e votre aide habituelle.

21 réponses

ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
25 févr. 2022 à 17:19
Bonjour à tous,

@JB22, je ne vois pas pourquoi ta formule fonctionne chez toi.

@hmrcita
Essaie cette formule adaptée du fabuleux site de Jacques Boisgontier
http://boisgontierj.free.fr/pages_site/sommeprod3D.htm#SommeSi3D

Liste dans une plage de cellules le nom de toutes tes feuilles, par exemple en F1:F93
Pour les valeurs positives
=SOMMEPROD(SOMME.SI(INDIRECT($F$1:$F$93&"!R86");">0"))

Pour les valeurs négatives tu changes le symbole.
Cela demande de la préparation, mais ça marche.

Si le nom de tes feuilles sont génériques, on peut faire sans tableau des noms.

Cordialement
1
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
25 févr. 2022 à 17:51
Bonjour

Pas possible à ma connaissance de sommer par formule plusieurs feuilles avec condition

Une possibilité en créant une fonction personnalisée :

https://www.cjoint.com/c/LBzqG2kZ3aW

Cdlmnt
Via
1
yclik Messages postés 3691 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 2 novembre 2024 1 512
Modifié le 23 févr. 2022 à 17:40
Bonjour
a tester
=SI(WBM(1)!R86>0;WBM(1)!R86;"")+SI(OBM!R86>0;OBM!R86;"")

A prori la fonction somme si concerne des plages de cellules sur une feuille
0
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 21
23 févr. 2022 à 18:29
Bonjour,
Merci de votre réponse rapide.
Malheureusement ça ne marche pas, ça me donne une erreur de formule.
0
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
23 févr. 2022 à 20:33
Bonjour à tous,
Dans la formule de yclick, salutations, remplace les guillemets par 0 :
=SI(WBM(1)!R86>0;WBM(1)!R86;0)+SI(OBM!R86>0;OBM!R86;0)

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58719 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 novembre 2024 17 233
24 févr. 2022 à 02:24
Bonsoir, tous.

Si j'ai bien compris, il peut y avoir beaucoup plus que 2 feuilles à consolider,
puisque sa formule comporte
 : 
et pas
 ; 
...
0
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 21
25 févr. 2022 à 09:51
Bonjour,
Merci à tous de vos réponses.

Mon classeur contient 93 feuilles toutes identiques, ce sont des rapports quotidiens.
Une cellule dans ce rapport peut contenir une valeur positive ou une valeur négative ou même ne rien contenir (une sorte d'entrée/sortie de marchandise).

Ce que je veux faire c'est faire la somme des valeurs positives et la somme des valeurs négatives de cette cellule dans une feuille récap à la fin du classeur.

CRDLMNT
0
Dans une cellule de votre choix dans la feuille Récap mettre la formule suivante pour les sommes positives!
SI(B86>0;SOMME(Feuil1:Feuil93!B86);0)

et dans une autre cellule la formule suivante pour les sommes négatives
SI(B86<0;SOMME(Feuil1:Feuil93!B86);0)

Cdt,
0
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 21
25 févr. 2022 à 16:36
Avec cette formule la condition est faite sur la cellule R86 de la feuille récap et non pas sur les cellules R86 de chaque feuille.
0
Chez moi cela fonctionne correctement;
Je vous recommande de faire un essai avec seulement 3 ou 4 feuilles et une feuille récap, vous pourrez facilement vérifier les résultats.
0
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 21
25 févr. 2022 à 17:18
Justement j'avais essayé en introduisant cette formule :
=SI(R86<0;SOMME(Feuil10:Feuil40!R86);0)

j'ai testé cette période car il y avait des entrées et des sorties
Après validation une fenêtre qui a pour titre "Mettre à jour les valeurs : Feuil40" s'ouvre

Si je mets cette formule :
=SI(R86>0;SOMME('DMR(10):DMR(40)'!R86);0)
le résultat est O. Remaquez bien que j'ai ajouté les apostrophes, si non il y a erreur de formule.
0
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
25 févr. 2022 à 18:25
Bonjour à tous,

@via55, salutations,
Si, c'est possible par formule, comme indiqué #11, mais pas si évident que ça et je n'aurai pas trouvé tout seul. Dans ton fichier cela donnerait :
=SOMMEPROD(SOMME.SI(INDIRECT("Feuil"&LIGNE(2:10)&"!H6");">0"))

et
=SOMMEPROD(SOMME.SI(INDIRECT("Feuil"&LIGNE(2:10)&"!H6");"<0"))


Cordialement
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
25 févr. 2022 à 18:52
Bonjour ALS35
Merci de l'info, effectivement j'avais zappé ton post 11 !
Cdlmnt
Via
0
Dans les formules mettre les noms des feuilles au lieu de feuil1, feui93! et sans apostrophe
En effet l' emplacement des feuilles peut être différant de l' ordre numérique des feuilles .
Faire un petit fichier test.
Je confirme chez moi cela fonctionne.
J'utilise cette méthode dans une application avec succès
0
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 21
25 févr. 2022 à 20:59
Merci a tous pour votre aide.

Demain quand je serai au bureau je testerai et je vous tiendrai informés.

Merci encore
0
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 21
26 févr. 2022 à 09:09
Bonjour,

@ALS35 :

Ça marche très bien, et pour la préparation elle ne devrait pas être longue car ce sont des noms génériques. Au pire une macro pour récupérer les noms des feuilles le fera pour moi.
Merci de me rappeler le site de "boisgontier", je l'avais oublié :)

@ via55
Merci pour ce fichier je vais créer cette fonction dans chaque classeur où je dois faire une récap (chaque classeur représente un chantier, et chaque chantier fait quotidiennement un rapport).

@Tous
Merci du temps que vous avez consacré pour m'aider.

CRDLMNT
0
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
26 févr. 2022 à 10:42
Bonjour à tous,

@hmcirta si tes noms sont génériques, pas besoin de tableau, voir #13

@JB22 on ne parle peut-être pas de la même chose, je suis curieux de voir un fichier exemple dans lequel ça marche chez toi.

Cordialement
0
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 21
Modifié le 26 févr. 2022 à 11:02
Rebonjour

Une petite remarque cependant à toutes fins utiles :
Si le nom de la feuille contient des parenthèses le résultat de la fonction "INDIRECT" affiche #REF!; mais ça marche avec la fonction personnalisée.

Edit:
Il faut ajouter les apostrophes pour que ça affiche le bon résultat



CRDLMNT
0
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
26 févr. 2022 à 11:49
Re,
Les apostrophes c'est plutôt parce que tu as des espaces dans tes noms.
Cordialement
0
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 21 > ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024
Modifié le 26 févr. 2022 à 15:54
Les noms de mes feuilles sont comme suit : DMR(1), DMR(2), ..., DMR(93) donc pas d'espace.
0
Post N° 10
=SI(R86<0;SOMME(Feuille10:Feuille40!R86);0)

"Cette formule est fausse, elle ne correspond pas à mon modèle.i.
Il faut mettre le nom de la première feuille de la sélection et le no m de la dernière.
Comme vous avez 93 feuilles ce ne peut être la feuille 40
Il faut mettre "Feuil1" et non pas "Feuille1".

Si vous pouvez, dans un message personnel, me communiquer une adresse de messagerie je vous ferez parvenir un dossier exemple;
Cdt,
0
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 21
Modifié le 26 févr. 2022 à 16:03
Pour Feuille 40 c’était juste pour tester et ici j'ai fait copier/coller de la formule :)

Pour le reste, avec cette formule
=SI(R86<0;SOMME('DMR(1):DMR(93)'!R86);0)
le résultat est 0
et avec celle-ci
=SI(R86<0;SOMME(Feuille1:Feuille93!R86);0)
la même fenêtre réapparait.

et avec celle-ci
=SI(R86<0;SOMME('Feuille1:Feuille93'!R86);0)
la formule devient
=SI(R86<0;SOMME('Feuille1:[Feuille81]Feuille81'!R86);0)
et affiche 0.
0
Il ne faut pas mettre les formules par copier_coller; cela provoque des erreurs que je ne comprends pas.

En attente de vos coordonnées.
cdt
0
Votre message a été supprimer par R. PENTIER, modérateur, sans indication de motif !

Vous avez raison les formules avec >0 ou <0 ne fonctionnent pas, tous les nombres sont totalisés qu' il soient positifs ou négatifs
0
hmcirta Messages postés 237 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 7 novembre 2024 21
27 févr. 2022 à 14:34
C'est sur tout que la condition est faite sur la cellule R86 de la feuille active et non pas sur la cellule R86 de chaque feuille.
Donc la formule :
=SI(R86<0;SOMME(Feuille10:Feuille40!R86);0)
vérifie la cellule R86 de la feuille "Récap" qui est vide.
0
Une solution pour totaliser les montants positifs (Factures= et les montants négatifs (Avoirs)..
Dans les dossiers individuels créer deux cellules, par exemple B84 et C84,
Dans la première vous saisissz les nombres positifs et dans la seconde les nombres négatifs.
Dans la feuille RECAP vous mettez les formules de totalisation. en B84 et C84.

Dans mon application la macro qui enregistre chaque jour les dossiers individuels incrément de 1 un compteur; Tous les enregistrement terminés le compteur doit être égal au nombre de dossier (93 dans votre cas).
Dans les formules de totalisation il y a une condition SI le compteur égal le nombre de dossiers.,
la totalisation n' est faite que s'il y a égalité, c' est une sécurité.

Cdt
0