{"id":1399,"date":"2012-01-15T21:28:38","date_gmt":"2012-01-15T19:28:38","guid":{"rendered":"http:\/\/www.auditsi.eu\/?p=1399"},"modified":"2016-01-01T16:12:21","modified_gmt":"2016-01-01T15:12:21","slug":"comptes-consolides-calculer-les-pourcentages-dinteret-a-laide-du-calcul-matriciel-et-du-langage-vba-dexcel-article-publie-dans-la-rfc","status":"publish","type":"post","link":"https:\/\/www.auditsi.eu\/?p=1399","title":{"rendered":"Comptes consolid\u00e9s : calculer les pourcentages d\u2019int\u00e9r\u00eat \u00e0 l\u2019aide du calcul matriciel et du langage VBA d\u2019Excel (article publi\u00e9 dans la RFC)"},"content":{"rendered":"<p style=\"text-align: justify;\">La Revue Fran\u00e7aise de Comptabilit\u00e9 publie dans son num\u00e9ro de janvier 2012 (n\u00b0 450) un article, que j\u2019ai \u00e9crit, intitul\u00e9 \u00abComptes consolid\u00e9s : calculer les pourcentages d\u2019int\u00e9r\u00eat \u00e0 l\u2019aide du calcul matriciel et du langage VBA d\u2019Excel \u00bb.<\/p>\n<div id=\"attachment_1401\" style=\"width: 306px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2012\/01\/couv-rfv-janvier.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1401\" class=\" wp-image-1401\" title=\"Couverture RFC janvier 2012\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2012\/01\/couv-rfv-janvier.jpg\" alt=\"Couverture RFC janvier 2012\" width=\"296\" height=\"415\" \/><\/a><p id=\"caption-attachment-1401\" class=\"wp-caption-text\">Couverture RFC janvier 2012<\/p><\/div>\n<p style=\"text-align: justify;\"><span style=\"text-decoration: underline;\">R\u00e9sum\u00e9 de l\u2019article :<\/span><\/p>\n<p style=\"text-align: justify;\">La d\u00e9termination des pourcentages d\u2019int\u00e9r\u00eat s\u2019av\u00e8re fastidieuse dans les groupes comprenant de nombreuses participations. Les participations circulaires et crois\u00e9es ajoutent un surcro\u00eet de complexit\u00e9 \u00e0 ces calculs. Les calculs manuels habituellement mis en oeuvre apparaissent complexes tant \u00e0 poser (consolideur) qu\u2019\u00e0 contr\u00f4ler (auditeur) et sources d\u2019erreur.<\/p>\n<p style=\"text-align: justify;\">M\u00e9connu, le calcul matriciel est une m\u00e9thode de calcul alternative qui offre trois avantages d\u00e9terminants : rapide \u00e0 mettre en application, il ne n\u00e9cessite pas de connaissance approfondie en calcul matriciel et en consolidation, et s\u00e9curise les calculs. De surcro\u00eet, la mod\u00e9lisation informatique des calculs matriciels est ais\u00e9e et offre, en plus, une automatisation aboutie de l\u2019ensemble du processus de calculs.<\/p>\n<p style=\"text-align: justify;\"><span style=\"text-decoration: underline;\">Introduction :<\/span><\/p>\n<p style=\"text-align: justify;\">Les pourcentages d\u2019int\u00e9r\u00eat sont calcul\u00e9s lors de la d\u00e9termination du p\u00e9rim\u00e8tre de consolidation. La pr\u00e9cision des pourcentages d\u2019int\u00e9r\u00eat rev\u00eat une importance particuli\u00e8re ; en effet, les pourcentages d\u2019int\u00e9r\u00eat d\u00e9terminent la part des capitaux propres et des r\u00e9sultats des entit\u00e9s consolid\u00e9es (int\u00e9gr\u00e9es selon la m\u00e9thode globale) qui appartient au groupe. Ils sont toutefois d\u00e9licats \u00e0 d\u00e9terminer en pr\u00e9sence de groupes de taille importante o\u00f9 les nombreuses participations incluent des participations crois\u00e9es ou circulaires ; le summum de la difficult\u00e9 \u00e9tant atteint en cas de participations de filiales sur la m\u00e8re. Pourtant l\u2019auditeur ou l\u2019expert-comptable qui souhaite valider les pourcentages d\u2019int\u00e9r\u00eat tout en s\u2019affranchissant de calculs manuels fastidieux souhaitera disposer d\u2019une m\u00e9thode de contr\u00f4le rapide et fiable.<\/p>\n<p><span style=\"text-decoration: underline;\">Lecture de l&#8217;article :<\/span> Cet article se pr\u00e9sente en deux parties :<\/p>\n<ul>\n<li style=\"text-align: justify;\">Une partie \u00ab papier \u00bb, publi\u00e9e dans la RFC, pr\u00e9sentant la d\u00e9marche du calcul matriciel et l\u2019int\u00e9r\u00eat du langage VBA,<\/li>\n<\/ul>\n<p style=\"padding-left: 60px;\"><div class=\"wpfilebase-attachment\">\r\n <div class=\"wpfilebase-fileicon\"><a href=\"https:\/\/www.auditsi.eu\/?wpfb_dl=7\" title=\"Download Comptes consolid\u00e9s : calculer les pourcentages d\u2019int\u00e9r\u00eat \u00e0 l\u2019aide du calcul matriciel et du langage VBA d\u2019Excel (article publi\u00e9 dans la RFC)\"><img decoding=\"async\" align=\"middle\" src=\"https:\/\/www.auditsi.eu\/wp-includes\/images\/crystal\/document.png\" alt=\"Comptes consolid\u00e9s : calculer les pourcentages d\u2019int\u00e9r\u00eat \u00e0 l\u2019aide du calcul matriciel et du langage VBA d\u2019Excel (article publi\u00e9 dans la RFC)\" \/><\/a><\/div>\r\n <div class=\"wpfilebase-rightcol\">\r\n  <div class=\"wpfilebase-filetitle\">\r\n   <a href=\"https:\/\/www.auditsi.eu\/?wpfb_dl=7\" title=\"Download Comptes consolid\u00e9s : calculer les pourcentages d\u2019int\u00e9r\u00eat \u00e0 l\u2019aide du calcul matriciel et du langage VBA d\u2019Excel (article publi\u00e9 dans la RFC)\">Comptes consolid\u00e9s : calculer les pourcentages d\u2019int\u00e9r\u00eat \u00e0 l\u2019aide du calcul matriciel et du langage VBA d\u2019Excel (article publi\u00e9 dans la RFC)<\/a><br \/>\r\n   RFC 12-01 p37-40 CAL POURCENT INT.pdf<br \/>\r\n   Version: 1<br \/>\r\n   \r\n  <\/div>\r\n  <div class=\"wpfilebase-filedetails\" id=\"wpfilebase-filedetails1\" style=\"display: none;\">\r\n  <p>Article publi\u00e9 dans la Revue Fran\u00e7aise de Comptabilit\u00e9 de janvier 2012 (n\u00b0 450)<br \/>\r\nR\u00e9sum\u00e9 de l'article : <br \/>\r\nLa d\u00e9termination des pourcentages d\u2019int\u00e9r\u00eat s\u2019av\u00e8re fastidieuse dans les groupes comprenant de nombreuses participations. Les participations circulaires et crois\u00e9es ajoutent un surcro\u00eet de complexit\u00e9 \u00e0 ces calculs. Les calculs manuels habituellement mis en oeuvre apparaissent complexes tant \u00e0 poser (consolideur) qu\u2019\u00e0 contr\u00f4ler (auditeur) et sources d\u2019erreur.<br \/>\r\nM\u00e9connu, le calcul matriciel est une m\u00e9thode de calcul alternative qui offre trois avantages d\u00e9terminants : rapide \u00e0 mettre en application, il ne n\u00e9cessite pas de connaissance approfondie en calcul matriciel et en consolidation, et s\u00e9curise les calculs. De surcro\u00eet, la mod\u00e9lisation informatique des calculs matriciels est ais\u00e9e et offre, en plus, une automatisation aboutie de l\u2019ensemble du processus de calculs.<\/p>\r\n  <table border=\"0\">\r\n   \r\n   <tr><td><strong>Auteur:<\/strong><\/td><td>Beno\u00eet-Ren\u00e9 RIVIERE<\/td><\/tr>\r\n   <tr><td><strong>Plateformes:<\/strong><\/td><td>Windows 7<\/td><\/tr>\r\n   <tr><td><strong>Exigences:<\/strong><\/td><td><a href=\"https:\/\/www.foxitsoftware.com\/products\/pdf-reader\/\" target=\"_blank\">PDF Reader<\/a><\/td><\/tr>\r\n   \r\n   \r\n   <tr><td><strong>Date:<\/strong><\/td><td>dimanche 15 janvier 2012<\/td><\/tr>\r\n   \n  <\/table>\r\n  <\/div>\r\n <\/div>\r\n <div class=\"wpfilebase-fileinfo\">\r\n  431 KiB<br \/>\r\n  17672 t\u00e9l\u00e9chargements<br \/>\r\n  <a href=\"#\" onclick=\"return wpfilebase_filedetails(1);\">D\u00e9tails...<\/a>\r\n <\/div>\r\n <div style=\"clear: both;\"><\/div>\r\n<\/div><\/p>\n<ul>\n<li style=\"text-align: justify;\">Une partie \u00ab num\u00e9rique \u00bb, publi\u00e9e sur ce site, pr\u00e9sentant le code source du programme de calcul des pourcentages d\u2019int\u00e9r\u00eat.<\/li>\n<\/ul>\n<p style=\"padding-left: 60px;\">Cf en bas d&#8217;article.<\/p>\n<p>Questions, suggestions ? N\u2019h\u00e9sitez pas \u00e0 r\u00e9agir sur le blog !<\/p>\n<p><em>Retrouvez tous les articles sur l&#8217;<a title=\"Articles sur : Audit des comptes consolid\u00e9s\" href=\"http:\/\/www.auditsi.eu\/?cat=324\">audit des comptes consolid\u00e9s<\/a><\/em><\/p>\n<p><span style=\"text-decoration: underline;\">Programme de calcul des pourcentages d\u2019int\u00e9r\u00eat pr\u00e9sent\u00e9 dans l\u2019article :<\/span><\/p>\n<ul>\n<li style=\"text-align: justify;\">T\u00e9l\u00e9charger le classeur EXCEL comprenant le programme VBA de calcul des pourcentages d&#8217;int\u00e9r\u00eat (t\u00e9l\u00e9chargement r\u00e9serv\u00e9 aux abonn\u00e9s apr\u00e8s inscription gratuite\u00a0: <a href=\"http:\/\/www.auditsi.eu\/wp-login.php?action=register\">http:\/\/www.auditsi.eu\/wp-login.php?action=register<\/a>) :<\/li>\n<\/ul>\n<p style=\"text-align: justify; padding-left: 60px;\"><div class=\"wpfilebase-attachment\">\r\n <div class=\"wpfilebase-fileicon\"><a href=\"https:\/\/www.auditsi.eu\/?wpfb_dl=9\" title=\"Download Compl\u00e9ment \u00e0 l&#039;article publi\u00e9 dans la Revue Fran\u00e7aise de Comptabilit\u00e9 de janvier 2012 (n\u00b0 450) : programme de calcul des pourcentages d&#039;int\u00e9r\u00eat\"><img decoding=\"async\" align=\"middle\" src=\"https:\/\/www.auditsi.eu\/wp-includes\/images\/crystal\/spreadsheet.png\" alt=\"Compl\u00e9ment \u00e0 l&#039;article publi\u00e9 dans la Revue Fran\u00e7aise de Comptabilit\u00e9 de janvier 2012 (n\u00b0 450) : programme de calcul des pourcentages d&#039;int\u00e9r\u00eat\" \/><\/a><\/div>\r\n <div class=\"wpfilebase-rightcol\">\r\n  <div class=\"wpfilebase-filetitle\">\r\n   <a href=\"https:\/\/www.auditsi.eu\/?wpfb_dl=9\" title=\"Download Compl\u00e9ment \u00e0 l&#039;article publi\u00e9 dans la Revue Fran\u00e7aise de Comptabilit\u00e9 de janvier 2012 (n\u00b0 450) : programme de calcul des pourcentages d&#039;int\u00e9r\u00eat\">Compl\u00e9ment \u00e0 l&#039;article publi\u00e9 dans la Revue Fran\u00e7aise de Comptabilit\u00e9 de janvier 2012 (n\u00b0 450) : programme de calcul des pourcentages d&#039;int\u00e9r\u00eat<\/a><br \/>\r\n   matrice v2.xlsm<br \/>\r\n   \r\n   \r\n  <\/div>\r\n  <div class=\"wpfilebase-filedetails\" id=\"wpfilebase-filedetails2\" style=\"display: none;\">\r\n  <p>Programme de calcul des pourcentages d'int\u00e9r\u00eat (calcul matriciel programm\u00e9 en langage VBA)<\/p>\r\n  <table border=\"0\">\r\n   \r\n   <tr><td><strong>Auteur:<\/strong><\/td><td>Beno\u00eet-Ren\u00e9 RIVIERE<\/td><\/tr>\r\n   \r\n   \r\n   \r\n   \r\n   <tr><td><strong>Date:<\/strong><\/td><td>dimanche 29 janvier 2012<\/td><\/tr>\r\n   \n  <\/table>\r\n  <\/div>\r\n <\/div>\r\n <div class=\"wpfilebase-fileinfo\">\r\n  31 KiB<br \/>\r\n  136 t\u00e9l\u00e9chargements<br \/>\r\n  <a href=\"#\" onclick=\"return wpfilebase_filedetails(2);\">D\u00e9tails...<\/a>\r\n <\/div>\r\n <div style=\"clear: both;\"><\/div>\r\n<\/div><\/p>\n<ul>\n<li style=\"text-align: justify;\">Consulter le code source de l\u2019application : cf en pied d\u2019article.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Pensez \u00e0 autoriser l&#8217;ex\u00e9cution des macros pour permettre le lancement des calculs.<\/p>\n<p style=\"text-align: justify;\"><em><span style=\"text-decoration: underline;\">Compl\u00e9ment du 29\/01\/2012 :<\/span><\/em><\/p>\n<p style=\"text-align: justify;\"><em>Deux compl\u00e9ments d&#8217;informations :<\/em><\/p>\n<p style=\"text-align: justify;\"><em>&#8211; Il ne faut pas modifier le nom du classeur (matrice.xlsm) ; dans le cas contraire le programme VBA renverra une erreur.<\/em><\/p>\n<p style=\"text-align: justify;\"><em>&#8211; La premi\u00e8re version du programme ne pouvait fonctionner au del\u00e0 de 26 entit\u00e9s (colonne Z) ; la nouvelle version du programme corrige ce bogue.<\/em><\/p>\n<p style=\"text-align: justify;\"><span style=\"text-decoration: underline;\">Bibliographie et \u00e9changes avec le lecteur :<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li>Article \u00ab Matrice (math\u00e9matiques) \u00bb, <a href=\"http:\/\/fr.wikipedia.org\/wiki\/Matrice_(math\u00e9matiques)\">http:\/\/fr.wikipedia.org\/wiki\/Matrice_(math\u00e9matiques)<\/a>.<\/li>\n<li>Livre \u00ab La consolidation directe, Principes de base \u00bb, Allen WHITE, Editions De Boeck.<\/li>\n<li>Livre \u00ab La consolidation, guide pratique \u00bb, St\u00e9phane MERCIER, Editions des CCI de Wallonie S.A.<\/li>\n<li>Livre \u00ab Comptes consolid\u00e9s \u00bb, Editions FRANCIS LEFEBVRE.<\/li>\n<li>Article \u00ab Le contr\u00f4le des comptes \u00e0 l\u2019aide du langage VBA d\u2019Excel \u00bb, Revue Fran\u00e7aise de Comptabilit\u00e9 n\u00b0445, Juillet\/ao\u00fbt 2011.<\/li>\n<li>Ouvrages \u00ab VBA Excel 2007 &#8211; Ma\u00eetrisez la programmation sous Excel \u00bb (Editions ENI) et \u00ab VBA pour Office 2007 \u00bb (Micro-Application).<\/li>\n<li>Article \u00ab Utiliser les variables tableaux en VBA Excel \u00bb sur l\u2019URL : <a href=\"http:\/\/silkyroad.developpez.com\/vba\/tableaux\/\">http:\/\/silkyroad.developpez.com\/vba\/tableaux\/<\/a>.<\/li>\n<li>Sites internet <a href=\"http:\/\/vb.developpez.com\/\">http:\/\/vb.developpez.com\/<\/a>\u00a0et <a href=\"http:\/\/www.vbfrance.com\/\">http:\/\/www.vbfrance.com\/<\/a>.<\/li>\n<li>Espaces d\u2019\u00e9changes ouverts \u00e0 tous sur www.pacioli.fr : \u00ab Expertise Consolidation \u00bb et \u00ab Le Cercle des D\u00e9veloppeurs \u00bb.<\/li>\n<li>Echanges avec l\u2019auteur : <a href=\"mailto:benoit@auditsi.eu\">benoit@auditsi.eu<\/a>.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><span style=\"text-decoration: underline;\">Code source VBA du programme :<\/span><\/p>\n<pre class=\"lang:default decode:true \">'POURCINT V1.0 08\/2011\r\n'Application calculant les pourcentages d'int\u00e9r\u00eat\r\n'Programm\u00e9e par Beno\u00eet-Ren\u00e9 RIVIERE, benoit@auditsi.eu\r\n'Explications sur le fonctionnement du programme : www.auditsi.eu\r\n\r\nOption Explicit\r\n\r\n'=======================================================================\r\n'DECLARATION DES CONSTANTES ET VARIABLES\r\n'--------------------------------------------------------------------------------------------------------------------------\r\n'D\u00e9claration des constantes\r\n'---Classeur et feuilles\r\nConst NomClasseurAppli = \"matrice.xlsm\"\r\n'------Onglet Entit\u00e9s\r\nConst FeuilleEntit\u00e9s = \"Entit\u00e9s\"\r\nConst ColonneR\u00e9fEntit\u00e9 = \"B\"\r\n'------Onglet D\u00e9tentions\r\nConst FeuilleD\u00e9tentions = \"D\u00e9tentions\"\r\n'D\u00e9claration des variables\r\n'---Classeur Excel\r\nDim classeurAppli As Workbook\r\n'---Entit\u00e9s\r\n'------Liste des entit\u00e9s\r\nDim Entit\u00e9s() As String\r\n'------Nombre d'entit\u00e9s\r\nDim NbEntit\u00e9s As Integer\r\n\r\n'---D\u00e9tentions\r\n'------Liste des d\u00e9tentions stock\u00e9e sous forme de tableau \u00e0 deux dimensions (matrice)\r\nDim MatriceD\u00e9tentions() As Double 'X, Y : d\u00e9tenteur, d\u00e9tenu\r\nDim MatriceI() As Double\r\nDim MatriceImoinsD\u00e9tentions() As Double\r\nDim PourcentagesInt\u00e9r\u00eat() As Double\r\n\r\n'Lecture de la liste des entit\u00e9s\r\nSub LectureEntit\u00e9s()\r\n  'Entit\u00e9 1 = entit\u00e9 fictive\r\n  'Entit\u00e9 2 = entit\u00e9 m\u00e8re\r\n  '3, 4... = entit\u00e9s filles\r\n\r\n  'ATTENTION : les r\u00e9f\u00e9rences identiques (doublons) ne sont pas test\u00e9es\r\n  'D\u00e9finition des variables propres \u00e0 la proc\u00e9dure en cours\r\n  Dim s As String\r\n\r\n  '---D\u00e9finition de l'entit\u00e9 fictive\r\n  NbEntit\u00e9s = 1\r\n  ReDim Entit\u00e9s(NbEntit\u00e9s)\r\n  Entit\u00e9s(NbEntit\u00e9s) = \"X\"\r\n\r\n  '---Lecture des entit\u00e9s\r\n  Do\r\n    s = classeurAppli.Sheets(FeuilleEntit\u00e9s).Range(ColonneR\u00e9fEntit\u00e9 &amp; NbEntit\u00e9s).Value\r\n    If s &lt;&gt; \"\" Then\r\n      NbEntit\u00e9s = NbEntit\u00e9s + 1\r\n      ReDim Preserve Entit\u00e9s(NbEntit\u00e9s)\r\n      Entit\u00e9s(NbEntit\u00e9s) = s\r\n    End If\r\n  Loop While s &lt;&gt; \"\" 'd\u00e8s qu'une r\u00e9f\u00e9rence est vierge, la lecture est arr\u00eat\u00e9e\r\n\r\n  'Dimensionnement des matrices\r\n  ReDim MatriceD\u00e9tentions(1 To NbEntit\u00e9s, 1 To NbEntit\u00e9s)\r\n  ReDim MatriceI(1 To NbEntit\u00e9s, 1 To NbEntit\u00e9s)\r\n  ReDim MatriceImoinsD\u00e9tentions(1 To NbEntit\u00e9s, 1 To NbEntit\u00e9s)\r\n  ReDim PourcentagesInt\u00e9r\u00eat(2 To NbEntit\u00e9s)\r\nEnd Sub\r\n\r\nFunction DonneCodeEntit\u00e9(R\u00e9fEntit\u00e9 As String)\r\n  Dim i As Integer\r\n\r\n  i = 0\r\n  Do\r\n    i = i + 1\r\n  Loop While (Entit\u00e9s(i) &lt;&gt; R\u00e9fEntit\u00e9) And (i &lt; NbEntit\u00e9s)\r\n  If Entit\u00e9s(i) = R\u00e9fEntit\u00e9 Then\r\n    DonneCodeEntit\u00e9 = i\r\n  Else: DonneCodeEntit\u00e9 = 0 'R\u00e9f\u00e9rence entit\u00e9 non reconnue\r\n  End If\r\nEnd Function\r\n\r\nSub ConstructionMatriceD\u00e9tentions()\r\n  'ATTENTION : en cas d'entit\u00e9 inexistente =&gt; aucune erreur ne sera signal\u00e9e, les donn\u00e9es inconnues sont ignor\u00e9es\r\n\r\n  'D\u00e9finition des variables propres \u00e0 la proc\u00e9dure en cours\r\n  Dim s1 As String\r\n  Dim s2 As String\r\n  Dim i As Integer\r\n  Dim v As Double\r\n  Dim d\u00e9tenteur As Integer\r\n  Dim d\u00e9tenu As Integer\r\n\r\n  '---Lecture des d\u00e9tentions\r\n  i = 0\r\n  Do\r\n    i = i + 1\r\n    With classeurAppli.Sheets(FeuilleD\u00e9tentions)\r\n    s1 = .Range(\"A\" &amp; i).Value\r\n    s2 = .Range(\"C\" &amp; i).Value\r\n    d\u00e9tenteur = DonneCodeEntit\u00e9(s1)\r\n    d\u00e9tenu = DonneCodeEntit\u00e9(s2)\r\n    If (s1 &lt;&gt; \"\") And (s2 &lt;&gt; \"\") And (d\u00e9tenteur &lt;&gt; 0) And (d\u00e9tenu &lt;&gt; 0) Then\r\n      v = .Range(\"B\" &amp; i).Value\r\n      MatriceD\u00e9tentions(d\u00e9tenteur, d\u00e9tenu) = v\r\n    End If\r\n  End With\r\n  Loop While (s1 &lt;&gt; \"\") And (s2 &lt;&gt; \"\") 'd\u00e8s qu'une r\u00e9f\u00e9rence est vierge, la lecture est arr\u00eat\u00e9e\r\n\r\n  'Traitement de l'entit\u00e9 fictive\r\n  MatriceD\u00e9tentions(1, 2) = 1 'la d\u00e9tention de l'entit\u00e9 fictive sur la m\u00e8re est de 100 % en l'absence de participations de filles sur la m\u00e8re\r\n  For d\u00e9tenteur = 2 To NbEntit\u00e9s\r\n    MatriceD\u00e9tentions(1, 2) = MatriceD\u00e9tentions(1, 2) - MatriceD\u00e9tentions(d\u00e9tenteur, 2)\r\n  Next d\u00e9tenteur\r\nEnd Sub\r\n\r\nSub ConstructionMatriceI()\r\n  'D\u00e9finition des variables propres \u00e0 la proc\u00e9dure en cours\r\n  Dim i As Integer\r\n\r\n  For i = 1 To NbEntit\u00e9s\r\n    MatriceI(i, i) = 1\r\n  Next i\r\nEnd Sub\r\n\r\nSub ConstructionMatriceImoinsD\u00e9tentions()\r\n  Dim d\u00e9tenteur As Integer\r\n  Dim d\u00e9tenu As Integer\r\n\r\n  For d\u00e9tenteur = 1 To NbEntit\u00e9s\r\n    For d\u00e9tenu = 1 To NbEntit\u00e9s\r\n      MatriceImoinsD\u00e9tentions(d\u00e9tenteur, d\u00e9tenu) = MatriceI(d\u00e9tenteur, d\u00e9tenu) - MatriceD\u00e9tentions(d\u00e9tenteur, d\u00e9tenu)\r\n    Next d\u00e9tenu\r\n  Next d\u00e9tenteur\r\nEnd Sub\r\n\r\nSub AfficheMatrice()\r\n  Dim d\u00e9tenteur As Integer\r\n  Dim d\u00e9tenu As Integer\r\n\r\n  classeurAppli.Sheets.Add after:=Worksheets(Worksheets.Count)\r\n  With classeurAppli.Sheets(classeurAppli.Sheets.Count)\r\n    .Cells(1, 1).Value = \"Matrice I-M\"\r\n    For d\u00e9tenteur = 1 To NbEntit\u00e9s\r\n      For d\u00e9tenu = 1 To NbEntit\u00e9s\r\n        If d\u00e9tenteur = 1 Then\r\n          .Cells(1, d\u00e9tenu + 1).Value = Entit\u00e9s(d\u00e9tenu)\r\n          .Cells(3 + NbEntit\u00e9s, d\u00e9tenu + 1).Value = Entit\u00e9s(d\u00e9tenu)\r\n        End If\r\n        If d\u00e9tenu = 1 Then\r\n          .Cells(d\u00e9tenteur + 1, 1).Value = Entit\u00e9s(d\u00e9tenteur)\r\n          .Cells(d\u00e9tenteur + NbEntit\u00e9s + 3, 1).Value = Entit\u00e9s(d\u00e9tenteur)\r\n        End If\r\n        .Cells(d\u00e9tenteur + 1, d\u00e9tenu + 1).Value = MatriceImoinsD\u00e9tentions(d\u00e9tenteur, d\u00e9tenu)\r\n      Next d\u00e9tenu\r\n    Next d\u00e9tenteur\r\n    .Cells(3 + NbEntit\u00e9s, 1).Value = \"Matrice (I-M)^-1\"\r\n    .Range(\"B\" &amp; 4 + NbEntit\u00e9s &amp; \":\" &amp; Chr(64 + NbEntit\u00e9s + 1) &amp; NbEntit\u00e9s * 2 + 3).FormulaArray = \"=minverse(B2:\" &amp; Chr(64 + NbEntit\u00e9s + 1) &amp; NbEntit\u00e9s + 1 &amp; \")\"\r\n    'FormulaArray \u00e9quivaut \u00e0 Ctrl+Maj+Entr\u00e9e\r\n    For d\u00e9tenu = 2 To NbEntit\u00e9s\r\n      PourcentagesInt\u00e9r\u00eat(d\u00e9tenu) = Cells(4 + NbEntit\u00e9s, d\u00e9tenu + 1)\r\n    Next d\u00e9tenu\r\n  End With\r\nEnd Sub\r\n\r\nSub AffichePourcentagesInt\u00e9r\u00eat()\r\n  Dim d\u00e9tenu As Integer\r\n\r\n  With classeurAppli.Sheets(classeurAppli.Sheets.Count)\r\n    .Cells(NbEntit\u00e9s * 2 + 1 + 4, 1).Value = \"% int\u00e9r\u00eat\"\r\n    For d\u00e9tenu = 2 To NbEntit\u00e9s\r\n      .Cells(NbEntit\u00e9s * 2 + d\u00e9tenu + 4, 1).Value = Entit\u00e9s(d\u00e9tenu)\r\n      With .Cells(NbEntit\u00e9s * 2 + d\u00e9tenu + 4, 2)\r\n        .NumberFormat = \"##.00%\"\r\n        .Value = PourcentagesInt\u00e9r\u00eat(d\u00e9tenu)\r\n      End With\r\n    Next d\u00e9tenu\r\n  End With\r\nEnd Sub\r\n\r\nSub Calculs()\r\n  '---D\u00e9claration du classeur de l'application\r\n  Set classeurAppli = Workbooks(NomClasseurAppli)\r\n  LectureEntit\u00e9s\r\n\r\n  ConstructionMatriceD\u00e9tentions\r\n  ConstructionMatriceI\r\n  ConstructionMatriceImoinsD\u00e9tentions\r\n\r\n  AfficheMatrice\r\n  AffichePourcentagesInt\u00e9r\u00eat\r\n\r\nEnd Sub<\/pre>\n<p>Approfondir le sujet : <a title=\"Programmer en VBA\" href=\"http:\/\/www.auditsi.eu\/?cat=1569\">programmer en VBA<\/a><\/p>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img decoding=\"async\" src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/fr\/share-small.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"facebook_send\",\"email\",\"print\",\"linkedin\");var hupso_counters_lang = \"fr_FR\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"BenoitRiviere14\";var hupso_url_c=\"\";var hupso_title_c=\"Comptes%20consolid%C3%A9s%20%3A%20calculer%20les%20pourcentages%20d%E2%80%99int%C3%A9r%C3%AAt%20%C3%A0%20l%E2%80%99aide%20du%20calcul%20matriciel%20et%20du%20langage%20VBA%20d%E2%80%99Excel%20%28article%20publi%C3%A9%20dans%20la%20RFC%29\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"excerpt":{"rendered":"<p>La Revue Fran\u00e7aise de Comptabilit\u00e9 publie dans son num\u00e9ro de janvier 2012 (n\u00b0 450) un article, que j\u2019ai \u00e9crit, intitul\u00e9 \u00abComptes consolid\u00e9s : calculer les pourcentages d\u2019int\u00e9r\u00eat \u00e0 l\u2019aide du calcul matriciel et du langage VBA d\u2019Excel \u00bb. R\u00e9sum\u00e9 de l\u2019article : La d\u00e9termination des pourcentages d\u2019int\u00e9r\u00eat s\u2019av\u00e8re fastidieuse dans les groupes comprenant de nombreuses &#8230;<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?p=1399\" class=\"more-link\">Continue reading &lsquo;Comptes consolid\u00e9s : calculer les pourcentages d\u2019int\u00e9r\u00eat \u00e0 l\u2019aide du calcul matriciel et du langage VBA d\u2019Excel (article publi\u00e9 dans la RFC)&rsquo; &raquo;<\/a><\/p>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/fr\/share-small.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"facebook_send\",\"email\",\"print\",\"linkedin\");var hupso_counters_lang = \"fr_FR\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"BenoitRiviere14\";var hupso_url_c=\"\";var hupso_title_c=\"Comptes%20consolid%C3%A9s%20%3A%20calculer%20les%20pourcentages%20d%E2%80%99int%C3%A9r%C3%AAt%20%C3%A0%20l%E2%80%99aide%20du%20calcul%20matriciel%20et%20du%20langage%20VBA%20d%E2%80%99Excel%20%28article%20publi%C3%A9%20dans%20la%20RFC%29\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"ngg_post_thumbnail":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[324,1569,171,215],"tags":[668,1660,391,618,249,98,1645,179,382,265,235,365,1633,387,228,223,669,82,665,664,666,617,263,667,1636,412,389,261,1641,445],"class_list":["post-1399","post","type-post","status-publish","format-standard","hentry","category-comptes-consolides","category-programmer-en-vba","category-revue-francaise-de-comptabilite","category-vba","tag-formulaarray","tag-numberformat","tag-sheets","tag-calcul-matriciel","tag-cells","tag-code-source","tag-comptes-consolides","tag-consolidation","tag-const","tag-count","tag-dim-as","tag-do-loop-while","tag-excel","tag-for-to-next","tag-function-end-function","tag-if-then-elseif","tag-minverse","tag-modelisation","tag-participations-circulaires","tag-participations-croisees","tag-perimetre-de-consolidation","tag-pourcentage-dinteret","tag-range","tag-redim","tag-revue-francaise-de-comptabilite","tag-rfc","tag-sub-end-sub","tag-value","tag-vba","tag-with-end-with"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/1399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1399"}],"version-history":[{"count":4,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/1399\/revisions"}],"predecessor-version":[{"id":5895,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/1399\/revisions\/5895"}],"wp:attachment":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}