"Résolu" Résultat selon conditions

Pedro Andrade

XLDnaute Nouveau
Bonjour, après plusieurs jours de recherche et de tâtonnement je me tourne vers vous pour avoir votre aide, j’espère que je serais assez claire dans mes explications. Dans une base de données je rentre manuellement la somme des dépenses et des recettes pour l'année écoulée, j'aimerais avoir en colonne "G" avec une formule les résultats indiqués dans l'exemple. Pouvez-vous m'aider?
 

Pièces jointes

  • Résultat selon conditions.xlsx
    12 KB · Affichages: 28

Pedro Andrade

XLDnaute Nouveau
Bonjour,

Ci-joint ton fichier test
Bonjour James007, merci mais ta formule ne fonctionne pas, sur le fichier d'origine en ligne 3 et colonne F j'ai une somme de 100.00 CHF qui est égal à la première somme pour cette catégorie et sous catégorie en ligne 2 donc le résultat en colonne G est "E", dans le fichier modifié en ligne 3 et colonne F j'ai une somme de 90.00 CHF qui est inférieur à la première somme pour cette catégorie et sous catégorie qui est en ligne 2 du fichier modifié donc le résultat en colonne G serait "P" alors que ta formule affiche "E" donc c'est faux, en ligne 4 et colonne F du fichier mofifié j'ai une somme de 150.00 CHF qui est suppérieur à la dernière somme pour cette catégorie et sous catégorie du fichier modifié donc le résultat serait "N" alors que ta formule affiche "P" c'est faux.
Original.pngModifié.png
 
Dernière édition:

Pedro Andrade

XLDnaute Nouveau
Ravi que cela te convienne :)

Malheureusement, je ne connais pas la procédure pour passer une Discussion au statut Résolu

Tu as, sans doute, au niveau de ton premier message, un menu que tu dois être le seul à pouvoir utiliser ...

Re-bonjour James007,
Merci beaucoup pour votre aide pour la formule, malheureusement j'ai un tout petit soucis c'est que la formule vérifie uniquement l'année précédente par rapport à la valeur saisie alors qu'elle devrait vérifier l’ensemble de la base de données. Comme vous pouvez le constater sur cette capture d'écran, si je saisis le même Type, la même Catégorie et la même S. Catégorie en 2012 avec une somme de 150.00 CHF, la formule dit que c'est une nouvelle entrée alors que c'est valeur négative selon la dernière entrée pour ce Type, Catégorie et S. Catégorie. Pouvez vous faire quelque chose?
 

Pièces jointes

  • Cap.1.png
    Cap.1.png
    14.7 KB · Affichages: 6
  • Résultat selon conditions ELD_exp.xlsx
    13.4 KB · Affichages: 4

James007

XLDnaute Barbatruc
Bonjour,

Trois questions complémentaires se posent ...

Est-ce-que la base de données est triée ou pas ...? ( si oui, comment ? )

Quelle est la définition ultra-précise de ' dernière entrée ' ...? ( puisqu'il faut la retrouver ...)

Quelle est la taille de ta vraie Base de Données ...? ( car les formules matricielles sont très gourmandes ...)
 
Dernière édition:

Pedro Andrade

XLDnaute Nouveau
Bonjour,

Trois questions complémentaires se posent ...

Est-ce-que la base de données est triée ou pas ...? ( si oui, comment ? )

Quelle est la définition ultra-précise de ' dernière entrée ' ...? ( puisqu'il faut la retrouver ...)

Quelle est la taille de ta vraie Base de Données ...? ( car les formules matricielles sont très gourmandes ...)
Bonjour,
Non la base de données n'est pas triée.
Ben je dirais qu'il faut chercher la dernière saisie "Type";"Catégorie";"S. Catégorie";"somme" et la comparer à même saisie "Type";"Catégorie";"S. Catégorie";"somme" dans le passé de la base de données, le but est que quand je saisi par exemple en ligne 3 une "Dépense" pour la "Catégorie" Voiture et la "S. Catégorie" Crédit en 2012 avec la somme de 150.00 CHF la formule en colonne G vas comparer cette saisie avec tous les "Dépenses" pour la "Catégorie" Voiture" et la "S. Catégorie" Crédit et comparer la somme pour afficher le résultat "*","E","P" ou "N".
Actuellement ma base de données fait environ 2000 lignes.
J'espere que ma réponse vous aide à comprendre mes besoins.
 

Pièces jointes

  • Cap.1.png
    Cap.1.png
    14.7 KB · Affichages: 2

James007

XLDnaute Barbatruc
Re,

Merci pour tes réponses.

J'ai commis la grave erreur de ne pas te poser les questions de base ...AVANT de démarrer ...

Avec les infos que tu viens de donner : surtout une base de données importante ( croissante...) et pas triée ...il faut oublier la solution matricielle

Car il faut obligatoirement, pour chaque ligne, balayer tous les champs de la base...

Donc, pour une solution efficace, il faut coder une UDF ...

Dès que j'ai un moment, je reprendrai le tout à zéro
 

job75

XLDnaute Barbatruc
Bonsoir Pedro Andrade, James007,

A priori rien n'empêche de trier le tableau comme sur l'exemple et le fichier joint.

C'est à dire d'abord sur la colonne B puis sur la colonne C puis sur la colonne D puis sur la colonne E (par années croissantes).

Il suffit alors d'une formule relativement simple en G2 :
Code:
=SI(B2&C2&D2<>DECALER(B2;-1;)&DECALER(C2;-1;)&DECALER(D2;-1;);"*";REPT("E";F2=DECALER(F2;-1;))&REPT(SI(B2="Dépenses";"P";"N");F2<DECALER(F2;-1;))&REPT(SI(B2="Dépenses";"N";"P");F2>DECALER(F2;-1;)))
Si l'on ne veut vraiment pas trier le tableau il faut une macro qui :

- triera le tableau comme indiqué ci-dessus

- entrera la formule indiquée en colonne G

- supprimera les formules en ne conservant que les valeurs

- triera le tableau pour le remettre dans l'ordre initial.

A+
 

Pièces jointes

  • Résultat selon conditions(1).xlsx
    12.5 KB · Affichages: 7

Pedro Andrade

XLDnaute Nouveau
Bonsoir Pedro Andrade, James007,

A priori rien n'empêche de trier le tableau comme sur l'exemple et le fichier joint.

C'est à dire d'abord sur la colonne B puis sur la colonne C puis sur la colonne D puis sur la colonne E (par années croissantes).

Il suffit alors d'une formule relativement simple en G2 :
Code:
=SI(B2&C2&D2<>DECALER(B2;-1;)&DECALER(C2;-1;)&DECALER(D2;-1;);"*";REPT("E";F2=DECALER(F2;-1;))&REPT(SI(B2="Dépenses";"P";"N");F2<DECALER(F2;-1;))&REPT(SI(B2="Dépenses";"N";"P");F2>DECALER(F2;-1;)))
Si l'on ne veut vraiment pas trier le tableau il faut une macro qui :

- triera le tableau comme indiqué ci-dessus

- entrera la formule indiquée en colonne G

- supprimera les formules en ne conservant que les valeurs

- triera le tableau pour le remettre dans l'ordre initial.

A+
Bonjour Job75, merci beaucoup pour ta collaboration, ta formule fonctionne tres bien sur ton fichier mais elle ne fonctionne pas sur mon fichier final, tu peux voir pourquoi? Je te met une copie de mon fichier final pour analyse.
 

Pièces jointes

  • Résultat selon conditions (budget).xlsx
    24.9 KB · Affichages: 5

Pedro Andrade

XLDnaute Nouveau
Re,

Merci pour tes réponses.

J'ai commis la grave erreur de ne pas te poser les questions de base ...AVANT de démarrer ...

Avec les infos que tu viens de donner : surtout une base de données importante ( croissante...) et pas triée ...il faut oublier la solution matricielle

Car il faut obligatoirement, pour chaque ligne, balayer tous les champs de la base...

Donc, pour une solution efficace, il faut coder une UDF ...

Dès que j'ai un moment, je reprendrai le tout à zéro
Ok je vais attendre, c'est quoi une UDF? Excuse pour mon ignorance.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 400
Messages
2 088 087
Membres
103 711
dernier inscrit
mindo