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 )
......c'est pas tellement plus clair, si ? -> Regardez le fichier
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 )
J'étais pas réveillé hier, je supprimais I. Désolé
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 ?
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é