Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL pour MAC Formule SOMME.SI.ENS

Jimbob

XLDnaute Nouveau
Bonjour à tous,

Je me permet de créer une discussion car je suis face à un problème et je sèche complètement (je ne trouve pas l'erreur).


Voici ma formule de départ (qui fonctionne parfaitement):

=D13+SOMME.SI.ENS('2023 Epargnes (1)'!D5: D9;'2023 Epargnes (1)'!C5:C9;"Livret A")+SOMME.SI.ENS('2023 Epargnes (1)'!J6:J9;'2023 Epargnes (1)'!I6:I9;"Livret A")+SOMME.SI.ENS('2023 Epargnes (1)'!J18:J23;'2023 Epargnes (1)'!I18:I23;"Livret A")+SOMME.SI.ENS('2023 Epargnes (1)'!J18:J23;'2023 Epargnes (1)'!I18:I23;"Int. Livret A")+SOMME.SI.ENS('2023 Epargnes (1)'!J5:J9;'2023 Epargnes (1)'!K5:K9;"x")

et à cela je souhaiterais rajouter :

-SOMME.SI.ENS('2023 Besoins (1)'!D24: D28;'2023 Besoins (1)'!C24:C28;"Vir Livret A";'2023 Besoins (1)'!E24:E28;"x")


Pour donner la formule suivante :

=D13-SOMME.SI.ENS('2023 Besoins (1)'!D24: D28;'2023 Besoins (1)'!C24:C28;"Vir Livret A";'2023 Besoins (1)'!E24:E28;"x")+SOMME.SI.ENS('2023 Epargnes (1)'!D5: D9;'2023 Epargnes (1)'!C5:C9;"Livret A")+SOMME.SI.ENS('2023 Epargnes (1)'!J6:J9;'2023 Epargnes (1)'!I6:I9;"Livret A")+SOMME.SI.ENS('2023 Epargnes (1)'!J18:J23;'2023 Epargnes (1)'!I18:I23;"Livret A")+SOMME.SI.ENS('2023 Epargnes (1)'!J18:J23;'2023 Epargnes (1)'!I18:I23;"Int. Livret A")+SOMME.SI.ENS('2023 Epargnes (1)'!J5:J9;'2023 Epargnes (1)'!K5:K9;"x")


Mais tout fonctionne, sauf la ligne que j'ai rajouté.


Si quelqu'un aurait la solution cela serait génial.


Merci à vous, bonne journée.
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Bonjour

Alors.. résumé de ce que je viens de faire
1) ouvrir le post
2) voir un énorme pavé avec des smiley dans les formules à rallonge (j'ai pas dit LU le pavé;. mais seulement VU)

3) ne vois pas de fichier joint
4) écrire ce mot et fermer le post
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Jimbob, Vgendron, Job
Tout à fait d'accord.
1- Un petit fichier test serait le bienvenu, cela serait plus simple
2- Utilisez les balises </> pour les formules ça évite les smileys, et c'et plus lisible.
3- Dans les grandes formules utilisez ALT+Entrée pour faire des sauts de lignes, là aussi c'est plus lisible :
VB:
=D13
-SOMME.SI.ENS('2023 Besoins (1)'!D24:D28;'2023 Besoins (1)'!C24:C28;"Vir Livret A";'2023 Besoins (1)'!E24:E28;"x")
+SOMME.SI.ENS('2023 Epargnes (1)'!D5:D9;'2023 Epargnes (1)'!C5:C9;"Livret A")
+SOMME.SI.ENS('2023 Epargnes (1)'!J6:J9;'2023 Epargnes (1)'!I6:I9;"Livret A")
+SOMME.SI.ENS('2023 Epargnes (1)'!J18:J23;'2023 Epargnes (1)'!I18:I23;"Livret A")
+SOMME.SI.ENS('2023 Epargnes (1)'!J18:J23;'2023 Epargnes (1)'!I18:I23;"Int. Livret A")
+SOMME.SI.ENS('2023 Epargnes (1)'!J5:J9;'2023 Epargnes (1)'!K5:K9;"x")
4- Testez seulement l'ajout :
Code:
=SOMME.SI.ENS('2023 Besoins (1)'!D24:D28;'2023 Besoins (1)'!C24:C28;"Vir Livret A";'2023 Besoins (1)'!E24:E28;"x")
Est ce que cela donne quelque chose ?
Sur un fichier test, cette formule est correcte. Et d'ailleurs la grande aussi.
Vérifiez les noms de feuilles, les plages, ....
 

Jimbob

XLDnaute Nouveau
Re,

Désolé, effectivement un petit fichier en pièce jointe aurait été top
Je le rajoute de suite et je vais essayé de mieux m'exprimer...
Je viens de m'apercevoir d'un argument que j'ai également omis de prendre en compte.

Je souhaiterais donc inclure dans ma formule en case E11 ceci :
-SOMME.SI.ENS('2023 Besoins (1)'!D24: D28;'2023 Besoins (1)'!C24:C28;"Vir Livret A";'2023 Besoins (1)'!E24:E28;"x")

Hors je viens de m'apercevoir que dans mes colonnes D24: D28 il y a une formule avec plancher (pour arrondir mes nombres avec virgules a la valeurs du dessous)

Et c'est donc cela que je n'arrive pas à intégrer.
j'ai donc intégré cette formule en E11 :
-SOMME(SI(ESTNUM(TROUVE("*";'2023 Besoins (1)'!$D24:$D28));--STXT('2023 Besoins (1)'!$D24:$D28;TROUVE("*";'2023 Besoins (1)'!$D24:$D28)+1;99)))

Qui fonctionne mais je n'arrive pas a rajouter les conditions suivantes :
'2023 Besoins (1)'!C24:C28;"Vir Livret A";'2023 Besoins (1)'!E24:E28;"x"


Woila, j'espère être assez clair dans mes propos.
 

Pièces jointes

  • Classeur1.xlsm
    881.3 KB · Affichages: 3
Dernière édition:

vgendron

XLDnaute Barbatruc
à mon avis, pour s'y retrouver, tu as tout intérêt a utiliser des tables structurées (voir PJ)
et une formule de sommeprod qui fait référence aux différentes colonnes de ces tables.. plus clair que des C4:C8...

après.. pour chaque sommeprod, il suffit d'identifier ce que tu souhaites récuperer
 

Pièces jointes

  • Classeur1 (1).xlsx
    205.3 KB · Affichages: 2

Jimbob

XLDnaute Nouveau
Merci pour votre retour, mais je souhaiterais vraiment conserver mon fichier tel qu'il ai.
Je souhaiterais simplement compléter ma formule si cela est possible comme énoncer plus haut.

Cordialement
 

Jimbob

XLDnaute Nouveau
Je pensais avoir trouvé la solution avec cette formule mais ça ne fonctionne pas

=D11
+SOMME.SI.ENS('2023 Epargnes (1)'!D5: D9;'2023 Epargnes (1)'!C5:C9;"Livret A")
+SOMME.SI.ENS('2023 Epargnes (1)'!J6:J9;'2023 Epargnes (1)'!I6:I9;"Livret A")
+SOMME.SI.ENS('2023 Epargnes (1)'!J18:J23;'2023 Epargnes (1)'!I18:I23;"Livret A")
+SOMME.SI.ENS('2023 Epargnes (1)'!J18:J23;'2023 Epargnes (1)'!I18:I23;"Int. Livret A")
+SOMME.SI.ENS('2023 Epargnes (1)'!J5:J9;'2023 Epargnes (1)'!K5:K9;"x")
-SOMME.SI.ENS(SI(ESTNUM(TROUVE("*";'2023 Besoins (1)'!$D24:$D28));--STXT('2023 Besoins (1)'!$D24:$D28;TROUVE("*";'2023 Besoins (1)'!$D24:$D28)+1;99));'2023 Besoins (1)'!C24:C28;"Vir Livret A")


Quelqu'un pour m'aider
 

Pièces jointes

  • Classeur1.xlsm
    881.4 KB · Affichages: 2

vgendron

XLDnaute Barbatruc
à mon avis, la source de ton problème vient de ton code sur le worksheet_change qui me parait bien étrange..
For Each r In r 'si entrŽes/effacements multiples
???
en général on parcourt chaque cellule dans une range.
If IsNumeric(CStr(r)) Then r = r & " * " & Int(r) Else r = ""
comprend pas à quoi ca sert??
si tu tapes 1000, tu récupères "1000 * 1000" (qui n'est pas un nombre
si tu revalides la meme cellule.. ca efface...

ensuite.. pour la partie qui te pose problème.. idem.. trouve("*") ???? tu cherches quoi exactement???

dans le fichier que je t'ai envoyé avec les tables structurées.. la forme te semble vraiment totalement différente ???
moi je n'en vois aucune..
c'est un peu comme vouloir aller d'un point A à un point B le plus vite possible, mais refuser la voiture pour préférer rester à pied...
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonsoir,

@vgendron j'utilise couramment la syntaxe For Each r In r

Comme toutes les instructions For... cette instruction n'est exécutée qu'une fois, pour tester exécutez la boucle en pas à pas.

Elle permet donc de n'utiliser qu'une variable au lieu de 2.

A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…