Somme des niveaux inférieurs

Moulinois

XLDnaute Occasionnel
Bonjour !
(Et oui, c'est encore moi :D)

Dans le fichier joint, les colonnes blanches sortent de l'export d'un logiciel.
Et je veux avoir dans la colonne grise "PR" à droite le prix de revient de chaque sous-produit. Il est constitué du prix des matières et/ou de la main-d'oeuvre qui lui sont attachés ainsi que du prix de revient du/des sous-produit(s) immédiatement(s) inférieur(s).

Bon, c'est pas clair ;)

En fait, tous les produits de niveau 3 ne vont pas dans un de niveau 2 mais uniquement les produits de niveau 3 jusqu'au prochain 2 de la liste.
(J'ai des versions avec 10 niveaux :eek:)

......c'est pas tellement plus clair, si ? -> Regardez le fichier ;)


Merci pour vos propositions futures.
 

Pièces jointes

  • Etat Excel 1.zip
    9.7 KB · Affichages: 24
  • Etat Excel 1.zip
    9.7 KB · Affichages: 20
  • Etat Excel 1.zip
    9.7 KB · Affichages: 26

jp14

XLDnaute Barbatruc
Re : Somme des niveaux inférieurs

Bonjour

Ci joint une solution par macro

A tester

JP
 

Pièces jointes

  • Etat Excel 1.zip
    15.5 KB · Affichages: 28
  • Etat Excel 1.zip
    15.5 KB · Affichages: 27
  • Etat Excel 1.zip
    15.5 KB · Affichages: 34

Tibo

XLDnaute Barbatruc
Re : Somme des niveaux inférieurs

Bonjour,

Un essai avec une formule matricielle.

Voir le fichier joint où j'ai mis les formules matricielles en rose.

Par contre, je n'ai pas compris la logique pour les calculs sur les autres lignes.

La formule matricielle est à valider par CTRL + MAJ + ENTREE

Je te laisse regarder et adapter.

@+
 

Pièces jointes

  • Moulinois.zip
    9 KB · Affichages: 24
  • Moulinois.zip
    9 KB · Affichages: 22
  • Moulinois.zip
    9 KB · Affichages: 24

Moulinois

XLDnaute Occasionnel
Re : Somme des niveaux inférieurs

Re,
Merci à vous deux.
Par contre, je n'ai pas compris la logique pour les calculs sur les autres lignes.
C'est exactement la même logique. Un "3" est composé de lui-même et du/des 4 en-dessous (jusqu'au prochain "3" ou "2").

Bien vu pour SUPPRESPACE ;)
(Est-ce qu'il y a une formule qui permet de supprimer les points aussi ? Normalement, la colonne B vient avec en début de cellule un nombre de points variable en fonction du niveau :rolleyes:)

Bonsoir

La macro réalise les calculs. il faut supprimer la colonne H et lancer la macro

JP
J'étais pas réveillé hier, je supprimais I. Désolé :D




Vos deux solutions marchent. J'aime bien la flexibilité de la solution macro et l'intelligence du "SUPPRESPACE" (peut-on virer les points aussi, en VBA ?). Peut-on avoir les deux combinés et une macro fonctionnelle pour les autres niveaux (jusqu'à 10 donc, suivant les cas) ?


EDIT : J'ai "._________1____F3500102000____" colonne B avec un nombre de points variable avant (le reste est de longueur fixe) donc en A j'ai mis =DROITE(SUPPRESPACE(GAUCHE(Bx;15))). Ca fait sagouin ou ça vous paraît propre ?
 
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : Somme des niveaux inférieurs

Bonjour,

Pas trop compris ton exemple avec le nombre de points variables.

Peut-être une piste avec la fonction SUBSTITUE :

=GAUCHE(SUBSTITUE(A1;".";""))

qui permet d'éliminer les . et de récupérer le 1er caractère.

Si as ça, reviens avec un peu plus de détails

@+
 

Tibo

XLDnaute Barbatruc
Re : Somme des niveaux inférieurs

re,

Pourrais-tu remettre ton fichier en le commentant quant à cette histoire de niveau, car je n'ai pas bien compris ce point.

Il suffit, dans ton fichier, d'indiquer le résultat attendu, et à côté, de mettre une explication sur le pourquoi du comment.

A te (re)lire

@+
 

Moulinois

XLDnaute Occasionnel
Re : Somme des niveaux inférieurs

Re,

J'ai gardé la version de jp14 car il sera plus facile pour les utilisateurs de lancer la macro de manière autonome.

La feuille jointe montre donc comment on fait le calcul pour les niveaux 3 et 4.
Pour le niveau trois, on additionne les montants de sa ligne et des niveaux 4 qui sont immédiatement en-dessous.
Pour le 4, pareil mais avec les niveaux 5 d'en-dessous (mais il n'y a pas de 5 ici ;))

Bref, c'est exactement pareil mais on remplace 2 par 3 et 3 par 4 etc :)
(Puis ça va jusqu'à environ 10 niveaux, mettons 15).


En fait, le montant du N est remonté dans son N-1 père qui remonte dans son N-2 père etc etc jusqu'à 1.


Voilà, n'hésitez pas à me reposer des questions si c'est toujours mal expliqué :D
 

Pièces jointes

  • Exemple 2.zip
    16 KB · Affichages: 26
  • Exemple 2.zip
    16 KB · Affichages: 25
  • Exemple 2.zip
    16 KB · Affichages: 24

Discussions similaires

Statistiques des forums

Discussions
312 145
Messages
2 085 762
Membres
102 966
dernier inscrit
InitialPP