Sommes très complexes

Bonjour à tous,

J'ai une problématique concernant des sommes un peu particulières à réaliser sur un fichier Excel. Le recours à VBA me paraît inévitable. Je vais essayer de vous expliquer mon souhait le plus clairement possible:

Sur l'onglet "Sheet1", j'ai différents comptes inscrits en colonne B, ainsi qu'un code CC associé en colonne D. Pour chaque compte, j'ai en colonne J, un montant correspondant. Les lignes qui m'intéressent ici, sont les lignes en gras, qui ont toutes des cellules de couleur verte en colonne J. La couleur verte pour signifier que ce sont des cellules qui contiennent des formules, à l'inverse des cellules jaunes qui sont destinées à accueillir des données par l'utilisateur.

Les sommes que je souhaite mettre en place, viendraient se caler dans chacune des cellules vertes de cette colonne J. Venons-en maintenant à la réalisation de ces sommes.

L'onglet Account contient l'ensemble des comptes inscrits en colonne B et même d'autres d'ailleurs. Ces comptes sont renseignés de manière hiérarchique. Je pense qu'il est assez intuitif de comprendre que chaque compte a un père et qu certains ont des fils. Pour exemple, PL est le "père" de PLNI000T qui est le "père" de PL96030T qui est le "père" de PL960300. PL960300 n'a pas de "fils". En revanche, il a des frères, PL960310 et PL960320, tout comme PL96030T a un frère: PL90000T.

Les comptes inscrits en gras correspondent à ceux inscrits en gras dans l'onglet "Sheet1".

Ce que je souhaiterais, est que dans chaque cellule verte de la feuille "Sheet1" en colonne J (qui correspond à un compte inscrit en colonne B), une formule vienne se placer, formule qui ferait la somme de l'ensemble des fils, en recherchant ces fils dans la feuille "Sheet1", et en allant chercher leurs valeurs en colonne J. ATTENTION: l'objectif est d'aller rechercher uniquement les fils qui ont le même CC_Code que le père (colonne D). Il est possible qu'un fils ne soit pas trouvé ; dans ce cas, j'aimerais que l'on aille chercher les fils, du fils qui n'a pas été trouvé. Et rebelote si nécessaire. Si le fils qui n'a pas été trouvé, n'a pas de fils, alors peu importe on passe à son frère, et s'il n'a pas/plus de frère, la somme est terminée.

D'un point de vue pratique/réalisation, il faut que pour chaque somme à créer, la macro aille repérer le compte concerné dans l'onglet Account, et aille identifier ses fils pour aller ensuite les rechercher dans l'onglet "Sheet1". S'ils ne sont pas trouvés, il faudrait retourner dans l'onglet Account, identifier leurs fils à eux pour revenir les chercher dans l'onglet "Sheet1". Et ainsi de suite.

Mon explication est terminée mais j'ai la forte impression que ce que je demande est beaucoup trop complexe, et que même si qqn voudrait et saurait m'aider, la macro mettrait un temps fou à fonctionner avec tous les aller-retour à faire, sachant qu'on est à 12000 lignes dans l'onglet "Sheet1". Mais je pense que VBA est la seule possibilité qui s'offre à moi.

Je vous serai reconnaissant de me faire n'importe quel type de retour:

  • Ce n'est pas possible
  • C'est possible avec telle idée
  • Ce serait possible si tu pouvais faire telle modification dans le fichier
  • C'est possible, voilà la solution

Merci d'avance à ceux qui prendront le temps de lire et d'essayer de comprendre. Il est carrément possible que je n'ai pas été suffisamment clair, n'hésitez pas à me poser des questions.

Bonne journée à tous !

SkillzZ

11fichier-exemple.xlsx (357.36 Ko)

Salut SkillzZ,

... à moitié compris ton truc mais je suis perturbé par un détail :

PY300000 est en gras (L. 275) en 'BDD' mais non en 'Account' (L. 607) donc, fils...?

D'après ton schéma, il ne devrait pas additionner tous les PY300000 non-gras de 'BDD' ...

Comment interpréter ce genre ... d'exception ?? dans la hiérarchie ?

Info : j'ai renommé "Feuil1" en 'BDD'

A+

Bonjour,

Donnes un ou deux exemple de résultat car tes explications ne sont pas très claires, pour moi en tout cas !

Bonjour à tous,

merci de vous êtes penchés sur le sujet mais j'ai finalement pu régler le problème autrement car le fichier a été modifié depuis. Donc je peux à la limite mettre résolu même s'il ne l'a pas été !

En revanche, si vous voulez jeter un oeil à mon post "AutoFill échoue".. Ce serait avec plaisir ! C'est bien plus simple et je pense que c'est la syntaxe qui me fait défaut.

Merci en tout cas, de vous êtes penchés sur ce cas !

PS: Curulis, oui les sommes étaient mal faites, d'où la bizzarerie que tu as identifié. Mathématiquement on tombe juste au final, mais des intermédiaires étaient squizzés d'où les formules que tu as identifié.

À bientôt,

SkillzZ

Rechercher des sujets similaires à "sommes tres complexes"