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

Sommes Conditionnelles Complexes

  • Initiateur de la discussion Initiateur de la discussion bcharef
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Dernière édition:
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.


Salutations distinguées.

BCharef
 
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

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
 
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

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

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

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
 
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

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)
 
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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
55
Affichages
2 K
A
Réponses
11
Affichages
2 K
A
M
Réponses
5
Affichages
2 K
MOA_Excel
M
D
Réponses
8
Affichages
2 K
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…