Sommes Conditionnelles Complexes

bcharef

XLDnaute Accro
Bonjour à toutes et à tous.

Je viens par le présent fil exposer la difficulté rencontré dans la réalisation d'un code plus simple que celui porté dans la fichier ci-joint.

Comptant sur votre aimable collaboration, veuillez agréer mes salutations distinguées.

BCharef
 

Pièces jointes

  • SomCondCplxes.xls
    36 KB · Affichages: 66
Dernière édition:

bcharef

XLDnaute Accro
Re : Sommes Conditionnelles Complexes

Bonsoir Flyonets,
Bonsoir à toutes et à tous.

La correspondance de l'index pour tout compte, dont les trois premiéres positions qui commencent par 512; 515; 531; 542 et 581.

L'objectif recherché est de simplifier le code ci-après, car le nombre d'index pourra varier jusqu'à 50 Index.

=SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!F4;'Base de données'!$C$2:$C$51523)-SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!F4;'Base de données'!$D$2:$D$51523)+SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!G4;'Base de données'!$C$2:$C$51523)-SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!G4;'Base de données'!$D$2:$D$51523)+SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!H4;'Base de données'!$C$2:$C$51523)-SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!H4;'Base de données'!$D$2:$D$51523)+SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!I4;'Base de données'!$C$2:$C$51523)-SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!I4;'Base de données'!$D$2:$D$51523)+SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!J4;'Base de données'!$C$2:$C$51523)-SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!J4;'Base de données'!$D$2:$D$51523)+SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!E4;'Base de données'!$C$2:$C$51523)-SOMME.SI('Base de données'!$B$2:$B$51523;ConditionsDeCalcul!E4;'Base de données'!$D$2:$D$51523)

Salutations distinguées.

BCharef
 

hoerwind

XLDnaute Barbatruc
Re : Sommes Conditionnelles Complexes

Bonjour,

Un début de solution sous la pièce jointe.
La formule en C4 est simplifiée.
Une formule en E4, à copier vers le bas et vers la droite, pour extraire les Index

N'est pas résolu :
Message d'erreur si l'index recherché n'est pas présent sous la Base de Données.
Étendre la formule en C4 à 50 Index (Excel refusera parce que la formule sera trop longue)

Le premier problème peut être résolu par une condition préliminaire.
Pour le second je ne vois pas de solution pour l'instant, si ce n'est de nommer des séries de SOMME.SI et de les additionner par la suite.
 

Pièces jointes

  • SomCondCplxesV2.xls
    40 KB · Affichages: 58
  • SomCondCplxesV2.xls
    40 KB · Affichages: 73
  • SomCondCplxesV2.xls
    40 KB · Affichages: 64

bcharef

XLDnaute Accro
Re : Sommes Conditionnelles Complexes

Bonjour Flyonets,
Salut hoerwind,
Bonjour à toutes et à tous.

J'ai le plaisir de vous remercier au temps précieux que vous m'aviez accorder pour la résolution du présent problème.
Message d'erreur si l'index recherché n'est pas présent sous la Base de Données.

Les divers tests n’ont pas permis de visualiser le message d’erreur, sauf s’il s’agit d’une incompréhension de ma part.

Étendre la formule en C4 à 50 Index (Excel refusera parce que la formule sera trop longue)

Effectivement ; c’est la difficulté rencontrée.

Pour le second je ne vois pas de solution pour l'instant, si ce n'est de nommer des séries de SOMME.SI et de les additionner par la suite.

Est-ce que EXCEL 2010 ne propose pas de fonction pour ce type de calcul ?

Merci encore une fois de plus de votre aide .

Cordialement.

BCharef
 

hoerwind

XLDnaute Barbatruc
Re : Sommes Conditionnelles Complexes

Re,

Entretemps les problèmes sont résolus, vois la pièce jointe.

Au lieu de concentrer toutes les conditions en C4, elles ont été réparties dans le tableau annexe, C4 ne faisant plus que l'addition des divers résultats.
La formule en E4 peut être copiée vers le bas et vers la droite, donc étendue à 50 index.

Reste à voir le nombre de lignes en ConditionsDeCalcul, car multipliées par 50, le nombre de formules pourraient ralentir le calcul final.
Il serait à conseiller de nommer les plages Base!B2:B51523 et Base!E2:E51523 de façon dynamique, de sorte que les formules ne doivent balayer que les plages contenant des données.
 

Pièces jointes

  • SomCondCplxesV3.xls
    46 KB · Affichages: 65
  • SomCondCplxesV3.xls
    46 KB · Affichages: 65
  • SomCondCplxesV3.xls
    46 KB · Affichages: 58

job75

XLDnaute Barbatruc
Re : Sommes Conditionnelles Complexes

Bonjour bcharef, salut hoerwind,

Je sais qu'hoerwind et toi êtes des formulistes, mais une fonction VBA ici est quand même très simple :

Code:
Function CREDIT#(Liste$)
Dim s, i%
Application.Volatile
s = Split(Liste, "+")
With Sheets("Base de données")
  For i = 0 To UBound(s)
    CREDIT = CREDIT + Application.SumIf(.[B:B], s(i), .[C:C]) _
      - Application.SumIf(.[B:B], s(i), .[D:D])
  Next
End With
End Function
Fichier joint.

A+
 

Pièces jointes

  • SomCondCplxes(1).xls
    47 KB · Affichages: 55

job75

XLDnaute Barbatruc
Re : Sommes Conditionnelles Complexes

Re,

Comme il y a une colonne SOLDE, ceci est encore plus simple :

Code:
Function SOLDE#(Liste$)
Dim s, i%
Application.Volatile
s = Split(Liste, "+")
With Sheets("Base de données")
  For i = 0 To UBound(s)
    SOLDE = SOLDE + Application.SumIf(.[B:B], s(i), .[E:E])
  Next
End With
End Function
Fichier (2).

A+
 

Pièces jointes

  • SomCondCplxes(2).xls
    47 KB · Affichages: 55

bcharef

XLDnaute Accro
Re : Sommes Conditionnelles Complexes

Bonjour Flyonets, hoerwind,
Salut job75
Bonjour à toutes et à tous.

L'ouverture du fichier porte des erreurs de valeur, car je travaille actuellement sur EXCEL 2010.

J'en profite de l'occasion de demander à notre ami Job75 des explications, en cas de modification de structure de la base de données.

Amicalement.

BCharef
 

bcharef

XLDnaute Accro
Re : Sommes Conditionnelles Complexes

Bonjour Flyonets, hoerwind & job75,
Bonjour à toutes et à tous.

Additivement à la formule de calcul complexe, je viens encore une fois vous exposer la difficulté rencontré d'un calcul complexe dont l'objectif est de simplifier la formule porté dans le fichier ci-joint portant les conditions de calcul.

Dans l'espoir d'une aide de simplification, veuillez agréer mes salutations distinguées.

BCharef
 

Pièces jointes

  • SomCondCplxesV2.xls
    48 KB · Affichages: 44
  • SomCondCplxesV2.xls
    48 KB · Affichages: 45
  • SomCondCplxesV2.xls
    48 KB · Affichages: 41

hoerwind

XLDnaute Barbatruc
Re : Sommes Conditionnelles Complexes

Bonjour,

Dans la colonne E, la condition préliminaire peut être remplacée par =MAX(0;la formule)
Exemple pour E13 :
Code:
=MAX(0;SOMME.SI('Base de données'!$F$3:$F$71;STXT(A13;2;9^9);'Base de données'!$E$3:$E$71);0)
 

bcharef

XLDnaute Accro
Re : Sommes Conditionnelles Complexes

Bonsoir Flyonets, hoerwind & job75,
Bonsoir à toutes et à tous.

Je pense bel et bien que j'ai mal évoqué la difficulté rencontré.

A cet effet, j'ai porté sur le fichier ci-joint plus d'éclaircissement avec les résultats à atteindre.

L'objectif recherché est d'obtenir une seule formule pour le calcul à effectuer.

J'en profite de l'occasion de remercier notre ami hoerwind pour le temps précieux qu'il m'a accordé pour la résolution préliminaire du présent problème.

Salutations distinguées.

BCharef
 

Pièces jointes

  • SomCondCplxesV3.xls
    57 KB · Affichages: 59
  • SomCondCplxesV3.xls
    57 KB · Affichages: 58
  • SomCondCplxesV3.xls
    57 KB · Affichages: 57

CISCO

XLDnaute Barbatruc
Re : Sommes Conditionnelles Complexes

Bonjour à tous

Ne peux tu faire avec une formule du type de celle que j'ai placée en AD3 dans le fichier ci-joint ?

Je n'ai fait que le début du travail car je m'y perd un peu entre les SOMME à soustraire et celles à additionner, et entre celles construites avec la colonne F, et celles à partir de la colonne G. A toi de fouiller.

@ plus
 

Pièces jointes

  • SomCondCplxesV3.xls
    51.5 KB · Affichages: 64
  • SomCondCplxesV3.xls
    51.5 KB · Affichages: 64
  • SomCondCplxesV3.xls
    51.5 KB · Affichages: 69

Statistiques des forums

Discussions
291 501
Messages
1 915 830
Membres
178 990
dernier inscrit
shadowtheone
Haut Bas