Formule taux de détention

Bonjour à tous.

J'ai besoin de connaître le taux de détention d'une holding dans une société filiale que ce soit en direct ou en indirect (via d'autres filiales). Je n'arrive pas à trouver un moyen d'automatiser ce besoin via une formule.

Vous trouverez dans le fichier joint un exemple de holding qui détient 3 sociétés qui peuvent être détentrices d'autres société ou entre-elles. Dans cet exemple j'aimerai avoir une formule "automatique" qui me permet d'obtenir le pourcentage de détention de la holding dans la société 1 (résultat à trouver = 12.25%).

Bien sûr il faut que cette formule puisse fonctionner si je demande le taux de détention de la holding dans une autre société.

J'espère avoir été assez clair.

Merci d'avance de votre aide.

543fichier-exemple.zip (7.81 Ko)

Bonjour,

=C2+C5*C3+C7*C6

Hervé.

Bonjour Hervé,

Désolé mais cette formule ne fonctionne pas.

D'accord le résultat de cette formule est égal à 12.25% mais il ne prend pas en compte tous les chemins de détention.

Bonne journée

Bonjour,

une solution via une fonction personnalisée (macro à mettre dans un module)

appel de la fonction

=holding(t,racine,participant,verbose)

t=tableau contenant l'info dans ton exemple A1:C8 (avec en colonne 1 les sociétés mères, en colonne 2 les sociétés filles et en colonne 3, le %age de participation)

racine=la société pour laquelle on recherche la participation totale dans la société indiquée dans la variable participant

participant=société pour laquelle on recherche le nombre de parts tenues (en pourcentage) par la société racine

verbose = 1 pour avoir l'arbre de participation avec les % pris en compte (defaut = 0)

exemple

=holding(A1:C8;A2;B2)
Sub searchmaster(t, racine, participant, a, Optional s = "")
    olds = s
    For i = LBound(t) To UBound(t)
        soc_det = t(i, 2)
        If soc_det = participant Then
            s = s & "|" & participant & "[" & Format(t(i, 3), "0.00000")
            If t(i, 1) = racine Then
                n = a(0)
                n = n + 1
                a(0) = n
                a(n) = s
            End If
                se = InStr(s, t(i, 1))
                If se = 0 Then se = 1
                If InStr(se, s, t(i, 1)) = 0 Then searchmaster t, racine, t(i, 1), a, s
            s = olds
        End If
    Next i
End Sub

Function holding(meres, filles, pct, racine, participant, Optional verbose = "")
    ' recherche le pourcentage de détention du participant dans la société racine
    ' mettre verbose à 1 pour avoir le détail du calcul, dans un fichier qui portera
    ' le nom de la racine et du participant suivi de - Holding dans le répertoire contenant le classeur
    Dim a(10000), t
    t = meres.Resize(, 3).Value
    For i = LBound(t) To UBound(t)
        t(i, 2) = filles.Cells(i, 1).Value
        t(i, 3) = pct.Cells(i, 1).Value
    Next i
    'construction de l'arbre de participations
    searchmaster t, racine, participant, a
    'calcul et mise en forme des résultats
    n = a(0)
    pctt = 0
    For i = 1 To n
        liste = Split(a(i), "|")
        pctg = 1
        pcttext = ""
        For j = LBound(liste) + 1 To UBound(liste)
            pct = Split(liste(j), "[")(1)
            pctg = pctg * pct
            pcttext = liste(j) & "], " & pcttext
        Next j
        pctt = pctt + pctg
        pctftext = pctftext & vbNewLine & pcttext & " participation : " & Format(pctg, "0.000%")
    Next i
    If verbose <> "" Then
        detail = pctftext & vbNewLine & "somme des participations : " & Format(pctt, "0.000%")
        Open ThisWorkbook.Path & "\" & racine & "_" & participant & "_holding.txt" For Output As 1
        Print #1, "participations détenues par " & racine & " dans " & participant
        Print #1, detail
        Close #1
    End If
    holding = pctt
End Function

gère également les participations croisées (mais à vérifier si la méthode vous convient)

Bonjour,

Tu parles d'un taux de détention de 12,25% de la société 1 par la holding mais en fait, je peux me tromper, elle en possède 15,63%

Elle possède 1% de la S1 --> 1%

Elle possède 50% de la S2 qui elle possède 15% de la S1 --> 7,5%

Elle possède la 50% de la S2 qui possède 75% de la S4 qui à son tour possède 5% de la S1 --> 1,88%

Elle possède la S3 à 100% qui elle possède la S2 à 10% qui possède la S1 à 15% --> 1,5%

Mais cette S2 possède aussi la S4 à 75% qui possède la S1 de 5% --> 3,75%

Ce qui nous fait un total de 15,63%

Et la formule, par rapport à ton tableau devient :

=C2+C3*C5+C3*C6*C7+C4*C8*C5+C4*C6*C7

Enfin, si je ne me suis pas foutu dedans !

Hervé.

Theze a écrit :

Bonjour,

Tu parles d'un taux de détention de 12,25% de la société 1 par la holding mais en fait, je peux me tromper, elle en possède 15,63%

Elle possède 1% de la S1 --> 1%

Elle possède 50% de la S2 qui elle possède 15% de la S1 --> 7,5%

Elle possède la 50% de la S2 qui possède 75% de la S4 qui à son tour possède 5% de la S1 --> 1,88%

Elle possède la S3 à 100% qui elle possède la S2 à 10% qui possède la S1 à 15% --> 1,5%

Mais cette S2 possède aussi la S4 à 75% qui possède la S1 de 5% --> 3,75%

Ce qui nous fait un total de 15,63%

Et la formule, par rapport à ton tableau devient :

=C2+C3*C5+C3*C6*C7+C4*C8*C5+C4*C6*C7

Enfin, si je ne me suis pas foutu dedans !

Hervé.

Si je ne me trompe, une erreur dans ton calcul

Mais cette S2 possède aussi la S4 à 75% qui possède la S1 de 5% -->0,375% (3.75% * 10%, car S3 possède S2 à 10%)

Effectivement h2so4, tu as parfaitement raison !

Je me suis bien foutu dedans

J'ai oublié de prendre en compte le taux de 10% de possession de la S2 donc, ça fait bien 12,25% et la formule devient :

=C2+C3*C5+C3*C6*C7+C4*C8*C5+C8*C4*C6*C7

J'ai dis :

Enfin, si je ne me suis pas foutu dedans !

J'avais bien un doute, quelque chose me chagrinait mais je ne suis pas arrivé à y mettre le doigt dessus !

Hervé.

Bonsoir à tous,

un test sans macro, adaptable "à l'infini" en augmentant le nombre d'itérations si besoin

(les matricielles ne sont pas directement copiables en entier par "glissement")

+ une question subsidiaire sur le cota restant...

Cordialement

axion

191fichier-exemple.zip (15.94 Ko)
Rechercher des sujets similaires à "formule taux detention"