Définir rang par formule

Bonjour,

J'ai une base composée de la liste de toutes les sociétés d'un groupe. Chaque ligne correspond à un lien entre une société fille et sa société mère (avec une colonne Mère, une colonne Fille, et une colonne % détention).

Une fille peut avoir plusieurs mères, une mère peut avoir plusieurs filles. En haut du groupe, la société Siège est la seule a ne pas être détenue par une société mère.

Mon souhait est d'arriver, par formule, à définir le rang de chaque société sachant qu'une société qui n'est la mère d'aucune autre est au rang 1, celle qui n'est la mère que de sociétés au rang 1 est au rang 2, le rang le plus élevé étant donc nécessairement celui de la société siège.

J'y arrive dans l'exemple ci-joint, uniquement par RECHERCHEV, mais en créant systématiquement 3 colonnes par "rang", ce qui ne me permet pas de gérer un nombre indéfini de rangs.

Pouvez-vous svp me dire si vous avez une meilleure solution que la mienne?

Merci d'avance de votre aide,

Cordialement,

Thibaut

Bonjour et bienvenue sur le forum

Tu écris :

Mon souhait est d'arriver, par formule, à définir le rang de chaque société...

Les formules compliquées, ce n'est pas ma tasse de thé.

Mais, si cela peut malgré tout t'être utile j'ai une solution par VBA

A tester

bonjour gmb

je me suis penché mais ;divegeance la societé 1 n'as pas de fille ,d'apres les dire elle doit etre au rang 1

donc 1 et 6 au rang 1 ;non?, je n'avais que 3 niveaux

cordialement

mon usine imposait un tri sans double .........

Bonjour

Bonjour Tulipe

OK ! Ma proposition ne va pas. Je la retire.

Mais je ne sais plus comment interpréter les hypothèses.

Les Sociétés 1 et 6 sont de rang 1 puisqu’elles n’ont pas de fille.

Mais alors, qu’en est-il de la société 3 qui est mère de la société 1, et grand-mère ( ! ) de la société 6 ?

A –t-elle un double rang ? Rang 2 vis-à-vis de la société 1 et rang 3 vis-à-vis de la société 6 ?

Je ne sais plus ...

Bonjour et merci pour votre aide,

C'est moi qui ne suis pas très précis. Je vais essayer de définir le rang :

Le rang d'une société est directement supérieur au rang le plus élevé de ses différentes sociétés filles.

La société 3 a deux filles, la 1 et la 5. La 1 est au rang 1 et la 5 est au rang 2. La société 3 doit donc être du rang directement supérieur à celui de la société 5, donc de rang 3.

Je préfèrerais le faire par formule que par VBA pour pérenniser le fichier qui devra être manipulable par pas mal de monde, mais si on arrive à une bonne solution VBA, je la prends avec plaisir!

Compte tenu de la définition du rang, je pense que le raisonnement doit partir des sociétés de rang 1, définies comme celles n'ayant pas de fille. Ensuite les sociétés de rang 2 sont celles n'ayant en fille que des sociétés du rang 1, etc...

Merci encore de votre aide,

Thibaut

bonjour

c'est ce que j'ai immediatement pensé ;

donc tu peux confirmer que la 1 et la 6 sont de rang 1

ensuite quand on a fait abstraction du siege il ne reste plus qu'a combler le vide ; a cet effet; l'ideal serait que tu indiques le resultat esperé ; car je suppose que tu dois en avoir une idée

de surcroit; dis nous si cela risque de se compliquer (plus de sociétés;de criteres....) car selon les cas de figures ;les formules risquent de ne plus etre valables

cordialement

Bonjour,

Oui, effectivement, la 1 et la 6 sont de rang 1.

Dans mon exemple, le résultat attendu se retrouve dans les colonnes P - Niveau fille et Q - Niveau mère (même si dans l'idée une seule colonne suffirait comme dans la macro proposée par gmb.

Le résultat attendu est donc

Soc 1 : rang 1

Soc 6 : rang 1

Soc 5 : rang 2

Soc 3 : rang 3

Soc 4 : rang 3

Soc 2 : rang 2

Siège : rang 4

Et oui, mon objectif est un modèle qui me permette d'appliquer ça à un groupe de plusieurs centaines de sociétés avec une quinzaine de rangs!

En regardant de plus près la macro de gmb, je pense qu'on s'approche bien de ce qui est recherché, je suis en train d'essayer de la modifier pour y appliquer les bonnes règles de calcul (reprendre en fait les règles de mes formules du fichier initial) mais je ne suis pas expert donc j'ai encore un peu de mal.

Merci encore,

Thibaut

Bonjour

Nouvelle version à tester.

Si personne ne te propose de version "Formules", tu auras au moins ça, si elle s'avère bonne.

Bye !

Merci beaucoup, ça a l'air très bien, je fais un test à grande échelle et je vous tiens au courant!

Thibaut

bonjour gmb

mes formules et moi laissons tomber pour cause de debordement ;ou lors il faut investir dans un poste ;et le consulter de temps en temps (le temps que ça mouline )

cordialement

Bonjour à tous

C'est peut-être moi qui est fatigué

Quand je regarde ton organigramme, 1 est au rang 2.

Car il y a 4 rang total et il est 3ieme de sa ligné.

Bonjour Tulipe

C’est gentil de m’en informer et puisque tu m’en offres l’occasion, je voudrais te dire toute mon admiration. Tu es la championne des formules tarabiscotées mais … efficaces ! Je me demande où tu vas les chercher.

Bravo !

Bye !

bonjour

champion ??? jette un coup d'oeil sur les reponses de R@chid , oosite , et autres Mozart ;tu vas vite te rendre compte que je suis empetré toujours dans le meme shema (matricielle;sommeprod ; eventuellement un petit decaler )

Au fait; c'est messieur et "tulipe" c'est le nom de mon chien (au moins je ne rique pas de l'oublier )

bonne continuation ; et bravo pour tes contributions

cordialement

Rechercher des sujets similaires à "definir rang formule"