{"id":7259,"date":"2018-01-03T14:10:34","date_gmt":"2018-01-03T13:10:34","guid":{"rendered":"https:\/\/www.auditsi.eu\/?p=7259"},"modified":"2018-01-06T11:37:21","modified_gmt":"2018-01-06T10:37:21","slug":"automatiser-la-generation-des-ecritures-dachats-intragroupe-et-les-integrer-dans-un-systeme-comptable","status":"publish","type":"post","link":"https:\/\/www.auditsi.eu\/?p=7259","title":{"rendered":"Automatiser la g\u00e9n\u00e9ration des \u00e9critures d&#8217;achat intragroupe et les int\u00e9grer dans un syst\u00e8me comptable"},"content":{"rendered":"<p style=\"text-align: justify;\">La programmation informatique est une source in\u00e9puisable de gains de productivit\u00e9.&nbsp;Appliqu\u00e9e aux m\u00e9tiers de la comptabilit\u00e9 et de la finance, les programmes limitent, entre autres,&nbsp;le temps pass\u00e9 \u00e0 la saisie d&#8217;\u00e9critures pour recentrer le travail des \u00e9quipes comptables sur des t\u00e2ches de contr\u00f4le et d&#8217;analyse. Ce sujet est r\u00e9guli\u00e8rement \u00e0 l\u2019honneur sur ce blog. En voici un exemple suppl\u00e9mentaire, s\u2019il \u00e9tait encore n\u00e9cessaire d\u2019en donner :&nbsp;l&#8217;automatisation de la comptabilisation des \u00e9critures d&#8217;achat intragroupe \u00e0 l&#8217;aide d&#8217;un programme en VBA.<\/p>\n<p style=\"text-align: justify;\">Dans cet exemple, une soci\u00e9t\u00e9 centralise une partie des achats&nbsp;(regroupement d\u2019achats \u00e0 prix n\u00e9goci\u00e9s\u2026) pour le compte de ses filiales.&nbsp;Ces achats repr\u00e9sentent un volume mensuel&nbsp;d\u2019une centaine de factures.&nbsp;Ces achats sont ensuite&nbsp;refactur\u00e9s \u00e0 prix co\u00fbtant aux filiales en fonction de leur quote-part de consommation. Les op\u00e9rations de saisie comptable d\u2019achats par la soci\u00e9t\u00e9 centralisatrice et&nbsp;de refacturation&nbsp;puis de comptabilisation d\u2019achats chez les filiales mobilisent beaucoup de ressources (temps des comptables pass\u00e9 \u00e0 saisir des donn\u00e9es \u00e0 de multiples reprises) pour une valeur ajout\u00e9e nulle.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.auditsi.eu\/?attachment_id=7268\" rel=\"attachment wp-att-7268\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7268\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Trame-de-saisie-des-achats.png\" alt=\"Trame de saisie des achats\" width=\"1176\" height=\"814\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Trame-de-saisie-des-achats.png 1176w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Trame-de-saisie-des-achats-300x208.png 300w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Trame-de-saisie-des-achats-768x532.png 768w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Trame-de-saisie-des-achats-1024x709.png 1024w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Trame-de-saisie-des-achats-730x505.png 730w\" sizes=\"auto, (max-width: 1176px) 100vw, 1176px\" \/><\/a><\/p>\n<p><em>Fonctionnalit\u00e9s du programme<\/em><\/p>\n<p style=\"text-align: justify;\">Le programme dont le code-source est reproduit ci-apr\u00e8s se propose d&#8217;automatiser les t\u00e2ches de comptabilisation des achats. Pour ce faire, la saisie des factures d\u2019achat&nbsp;est synth\u00e9tis\u00e9e dans une feuille de travail Excel. Les donn\u00e9es \u00e0 saisir (cellules en jaune) sont d&#8217;une part, le d\u00e9tail des factures d\u2019achat (date, num\u00e9ro de facture, montant HT\u2026), les comptes g\u00e9n\u00e9raux (nature de charge, TVA, centralisateur tiers), le code tiers et d&#8217;autre part, la ventilation des achats \u00e0 refacturer par filiale. Ensuite,&nbsp;\u00e0 partir de cette feuille de calcul, une macro r\u00e9dig\u00e9e en VBA g\u00e9n\u00e8re les fichiers d\u2019\u00e9critures d\u2019achat \u00e0 int\u00e9grer dans la comptabilit\u00e9 de la holding et de ses filiales. Ne reste alors plus qu\u2019\u00e0 \u00e9mettre les factures entre la holding et ses filiales dans le syst\u00e8me de gestion commerciale.<\/p>\n<p style=\"text-align: justify;\">Fichier d&#8217;import g\u00e9n\u00e9r\u00e9 pour la centralisatrice :<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?attachment_id=7274\" rel=\"attachment wp-att-7274\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7274\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Achats-chez-la-m\u00e8re.png\" alt=\"Achats chez la m\u00e8re\" width=\"825\" height=\"141\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Achats-chez-la-m\u00e8re.png 825w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Achats-chez-la-m\u00e8re-300x51.png 300w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Achats-chez-la-m\u00e8re-768x131.png 768w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Achats-chez-la-m\u00e8re-730x125.png 730w\" sizes=\"auto, (max-width: 825px) 100vw, 825px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Fichier d&#8217;import g\u00e9n\u00e9r\u00e9 pour l&#8217;une des filiales :<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?attachment_id=7272\" rel=\"attachment wp-att-7272\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7272\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Achats-chez-lutilisatrice.png\" alt=\"Achats chez l'utilisatrice\" width=\"827\" height=\"105\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Achats-chez-lutilisatrice.png 827w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Achats-chez-lutilisatrice-300x38.png 300w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Achats-chez-lutilisatrice-768x98.png 768w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/Achats-chez-lutilisatrice-730x93.png 730w\" sizes=\"auto, (max-width: 827px) 100vw, 827px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><em>Pr\u00e9requis \u00e0 l&#8217;importation des \u00e9critures dans le logiciel de comptabilit\u00e9<\/em><\/p>\n<p style=\"text-align: justify;\">Il est n\u00e9cessaire de cr\u00e9er un journal d&#8217;achat sp\u00e9cifique (ici, ACHI pour achats comptabilis\u00e9s par importation de donn\u00e9es)&nbsp;dans la comptabilit\u00e9 de toutes les soci\u00e9t\u00e9s parties prenantes afin de faciliter les op\u00e9rations de contr\u00f4le d&#8217;int\u00e9gration de donn\u00e9es (rapprochement entre les donn\u00e9es Excel et les donn\u00e9es int\u00e9gr\u00e9es dans le journal d&#8217;achat). En effet, d\u00e8s lors que des donn\u00e9es sont int\u00e9gr\u00e9es dans&nbsp;un syst\u00e8me comptable, il est hautement conseill\u00e9 de cr\u00e9er des journaux sp\u00e9cifiques pour chacune des interfaces&nbsp;(il en est ainsi par exemple pour les \u00e9critures import\u00e9es depuis la paye, la gestion commerciale, le logiciel de gestion des immobilisations&#8230;).<\/p>\n<p style=\"text-align: justify;\">L&#8217;int\u00e9gration de donn\u00e9es dans un syst\u00e8me comptable (ici SAGE 100 Comptabilit\u00e9 i7) n\u00e9cessite la cr\u00e9ation d&#8217;un format d&#8217;importation des \u00e9critures comptables (menu Fichier \/ format Import\/Export param\u00e9trable&#8230;). Deux \u00e9l\u00e9ments sont \u00e0 param\u00e9trer : les champs de donn\u00e9es et le format du fichier.<\/p>\n<p style=\"text-align: justify;\">Concernant les champs de donn\u00e9es, il s&#8217;agit de champs classiques d\u00e9crivant des \u00e9critures comptables : date d&#8217;\u00e9critures, compte g\u00e9n\u00e9ral, libell\u00e9 d&#8217;\u00e9criture&#8230;<\/p>\n<div id=\"attachment_7262\" style=\"width: 645px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.auditsi.eu\/?attachment_id=7262\" rel=\"attachment wp-att-7262\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7262\" class=\"size-full wp-image-7262\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/SAGE100-Import-param\u00e9trable-1.png\" alt=\"D\u00e9finition des champs \u00e0 importer dans SAGE 100 Comptabilit\u00e9 i7\" width=\"635\" height=\"621\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/SAGE100-Import-param\u00e9trable-1.png 635w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/SAGE100-Import-param\u00e9trable-1-300x293.png 300w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/a><p id=\"caption-attachment-7262\" class=\"wp-caption-text\">D\u00e9finition des champs \u00e0 importer dans SAGE 100 Comptabilit\u00e9 i7<\/p><\/div>\n<p style=\"text-align: justify;\">Concernant le format de fichier (ici un format d\u00e9limit\u00e9 CSV), le d\u00e9limiteur de champ est le point-virgule et la d\u00e9cimale est mat\u00e9rialis\u00e9e par la virgule (conventions usuellement retenues en France).<\/p>\n<div id=\"attachment_7264\" style=\"width: 603px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.auditsi.eu\/?attachment_id=7264\" rel=\"attachment wp-att-7264\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7264\" class=\"size-full wp-image-7264\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/SAGE100-Import-param\u00e9trable-2.png\" alt=\"D\u00e9finition du format de fichier \u00e0 importer dans SAGE 100 Comptabilit\u00e9 i7\" width=\"593\" height=\"505\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/SAGE100-Import-param\u00e9trable-2.png 593w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2018\/01\/SAGE100-Import-param\u00e9trable-2-300x255.png 300w\" sizes=\"auto, (max-width: 593px) 100vw, 593px\" \/><\/a><p id=\"caption-attachment-7264\" class=\"wp-caption-text\">D\u00e9finition du format de fichier \u00e0 importer dans SAGE 100 Comptabilit\u00e9 i7<\/p><\/div>\n<p style=\"text-align: justify;\">L&#8217;uniformisation du plan comptable des diff\u00e9rentes soci\u00e9t\u00e9s facilite grandement la programmation de la&nbsp;g\u00e9n\u00e9ration des fichiers d&#8217;\u00e9critures comptables (en \u00e9vitant l&#8217;usage de tables de correspondance).<\/p>\n<p style=\"text-align: justify;\"><em>Importation des \u00e9critures comptables dans SAGE 100<\/em><\/p>\n<p style=\"text-align: justify;\">Entrer successivement dans chacune des comptabilit\u00e9s concern\u00e9es et \u00e0 partir du menu Fichier \/ Importer un fichier au format param\u00e9trable, s\u00e9lectionner le format de fichier nouvellement cr\u00e9\u00e9 et importer les fichiers cr\u00e9\u00e9s par le programme VBA. La derni\u00e8re \u00e9tape consiste \u00e0 consulter le journal d&#8217;importation pour s&#8217;assurer que SAGE 100 n&#8217;a pas rencontr\u00e9 de difficult\u00e9 puis \u00e0 s&#8217;assurer de l&#8217;exhaustivit\u00e9 des donn\u00e9es import\u00e9es (rapprocher les totaux d\u00e9bit \/ cr\u00e9dit du journal ACHI avec la totalisations du fichier import\u00e9).<\/p>\n<p style=\"text-align: justify;\"><em>Conclusion<\/em><\/p>\n<p style=\"text-align: justify;\">En plus d&#8217;assurer des gains de productivit\u00e9, ce programme fiabilise la comptabilisation des flux intragroupes (montants et dates de comptabilisation) limitant de ce fait les \u00e9carts de solde lors de la&nbsp;r\u00e9conciliation des intercompagnies.<\/p>\n<p style=\"text-align: justify;\">Cet exemple d&#8217;automatisation de process comptable est duplicable \u00e0 l&#8217;envi d\u00e8s lors que des op\u00e9rations intragroupe sont concern\u00e9es : mouvements sur comptes courants entre soci\u00e9t\u00e9 m\u00e8re et filiales, facturations de prestations&#8230;<\/p>\n<p style=\"text-align: justify;\">La d\u00e9mat\u00e9rialisation des flux documentaires (EDI factures,&nbsp;lecture OCR de factures &#8220;papier&#8221;, lecture de factures PDF sign\u00e9es num\u00e9riquement, envoi de factures vers le portail public CHORUS&#8230;) et le d\u00e9veloppement de l&#8217;<a href=\"https:\/\/www.auditsi.eu\/?page_id=2273\">intelligence artificielle<\/a> vont radicalement faire progresser ces gains de productivit\u00e9 dans les ann\u00e9es \u00e0 venir.<\/p>\n<p style=\"text-align: justify;\">Code-source du programme \u00e9crit en VBA :<\/p>\n<pre class=\"lang:default decode:true\">'Module de g\u00e9n\u00e9ration des \u00e9critures d'achats MMOT \u00e0 refacturer aux filiales\r\n'V1.0, 12\/2017\r\n'Programm\u00e9 par Beno\u00eet RIVIERE\r\n\r\nOption Explicit\r\n\r\nOption Base 1\r\n\r\nConst Adresse_Mois = \"B3\"\r\nConst Adresse_Ann\u00e9e = \"B4\"\r\nConst Adresse_P\u00e9riode = \"B5\"\r\nConst Adresse_DateRefact = \"C7\"\r\nConst Adresse_DateEchRefact = \"E7\"\r\nConst Adresse_TxTVARefact = \"B9\"\r\nConst Adresse_Entit\u00e9Refact = \"B10\"\r\nConst Adresse_CodeJalAch = \"B12\"\r\nConst Plage_ListeCodeTiersRefact = \"N5:R12\"\r\nConst Plage_ListeFactures = \"D17:O5000\"\r\n\r\nDim Mois As String\r\nDim Ann\u00e9e As String\r\nDim P\u00e9riode As String\r\nDim DateRefact As String\r\nDim DateEchRefact As String\r\nDim TxTVARefact As String\r\nDim Entit\u00e9Refact As String\r\nDim CodeJalAch As String\r\nDim Table_ListeCodeTiersRefact As Variant\r\nDim Table_ListeFactures As Variant\r\n\r\nDim Table_EcrituresAExporter() As Variant\r\nConst Champ_EcrituresAExporter_Jal = 1\r\nConst Champ_EcrituresAExporter_Date = 2\r\nConst Champ_EcrituresAExporter_CpteGal = 3\r\nConst Champ_EcrituresAExporter_CodeTiers = 4\r\nConst Champ_EcrituresAExporter_LibEcrit = 5\r\nConst Champ_EcrituresAExporter_Mt = 6\r\nConst Champ_EcrituresAExporter_R\u00e9f = 7\r\nConst Champ_EcrituresAExporter_NumPi\u00e8ce = 8\r\nConst Champ_EcrituresAExporter_NumFre = 9\r\nConst Champ_EcrituresAExporter_DateEch = 10\r\n\r\nDim Chemin As String\r\n\r\nDim i As Integer\r\nDim j As Integer\r\nDim k As Integer\r\n\r\nDim NumEntit\u00e9EnCours As Integer\r\nDim Entit\u00e9EnCours As String\r\nDim TotalHT As Double\r\n\r\nSub Traitements()\r\n    With ActiveWorkbook\r\n        Chemin = .Path\r\n        With .Sheets(1)\r\n            Mois = .Range(Adresse_Mois).Value\r\n            Ann\u00e9e = .Range(Adresse_Ann\u00e9e).Value\r\n            P\u00e9riode = .Range(Adresse_P\u00e9riode).Value\r\n            DateRefact = .Range(Adresse_DateRefact).Value\r\n            DateEchRefact = .Range(Adresse_DateEchRefact).Value\r\n            TxTVARefact = .Range(Adresse_TxTVARefact).Value\r\n            Entit\u00e9Refact = .Range(Adresse_Entit\u00e9Refact).Value\r\n            CodeJalAch = .Range(Adresse_CodeJalAch).Value\r\n            Table_ListeCodeTiersRefact = .Range(Plage_ListeCodeTiersRefact).Value\r\n            Table_ListeFactures = .Range(Plage_ListeFactures).Value\r\n        End With\r\n    End With\r\n    \r\n    For NumEntit\u00e9EnCours = 1 To UBound(Table_ListeCodeTiersRefact) + 1\r\n        'RAZ total HT\r\n        TotalHT = 0\r\n        'Code entit\u00e9 en cours de traitement\r\n        Select Case NumEntit\u00e9EnCours\r\n            Case UBound(Table_ListeCodeTiersRefact) + 1:\r\n                Entit\u00e9EnCours = Entit\u00e9Refact\r\n            Case Else:\r\n                Entit\u00e9EnCours = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 1)\r\n        End Select\r\n        'Collecte des lignes d'\u00e9critures concernant l'entit\u00e9 en cours de traitement\r\n        ReDim Table_EcrituresAExporter(UBound(Table_ListeFactures, 1), 10)\r\n        i = 1\r\n        k = 1\r\n        Do\r\n            If (Table_ListeFactures(i, 1) = Entit\u00e9EnCours) And (Table_ListeFactures(i, 8) &lt;&gt; 0) Then 'uniquement si mt &lt;&gt;0\r\n                For j = 1 To 10\r\n                    Table_EcrituresAExporter(k, j) = Table_ListeFactures(i, j + 2)\r\n                Next j\r\n                TotalHT = TotalHT + Table_ListeFactures(i, 8)\r\n                'Si Entit\u00e9EnCours est une filiale refactur\u00e9e -&gt; certains champs sont personnalis\u00e9s\r\n                If Entit\u00e9EnCours &lt;&gt; Entit\u00e9Refact Then\r\n                    Table_EcrituresAExporter(k, Champ_EcrituresAExporter_Jal) = CodeJalAch\r\n                    Table_EcrituresAExporter(k, Champ_EcrituresAExporter_Date) = DateRefact\r\n                    Table_EcrituresAExporter(k, Champ_EcrituresAExporter_CodeTiers) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 2)\r\n                    Table_EcrituresAExporter(k, Champ_EcrituresAExporter_LibEcrit) = Entit\u00e9Refact &amp; \"\/QP \" &amp; Table_EcrituresAExporter(k, Champ_EcrituresAExporter_LibEcrit)\r\n                    Table_EcrituresAExporter(k, Champ_EcrituresAExporter_R\u00e9f) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 3)\r\n                    Table_EcrituresAExporter(k, Champ_EcrituresAExporter_NumPi\u00e8ce) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 3)\r\n                    Table_EcrituresAExporter(k, Champ_EcrituresAExporter_NumFre) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 3)\r\n                End If\r\n                k = k + 1\r\n            End If\r\n            i = i + 1\r\n        Loop Until i &gt; UBound(Table_ListeFactures)\r\n        'G\u00e9n\u00e9ration du fichier d'import uniquement si des lignes ont \u00e9t\u00e9 collect\u00e9es\r\n        If TotalHT &lt;&gt; 0 Then\r\n            'Ajout des lignes TVA et TTC pour les entit\u00e9s \u00e0 refacturer\r\n            If Entit\u00e9EnCours &lt;&gt; Entit\u00e9Refact Then\r\n                'TVA\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_Jal) = CodeJalAch\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_Date) = DateRefact\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_CpteGal) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 5)\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_CodeTiers) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 2)\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_LibEcrit) = Entit\u00e9Refact &amp; \"\/REFACT QP FRAIS \" &amp; Mois &amp; \"\/\" &amp; Ann\u00e9e\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_Mt) = TotalHT * TxTVARefact\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_R\u00e9f) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 3)\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_NumPi\u00e8ce) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 3)\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_NumFre) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 3)\r\n                'DETTE FOURNISSEUR\r\n                k = k + 1\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_Jal) = CodeJalAch\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_Date) = DateRefact\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_CpteGal) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 4)\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_CodeTiers) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 2)\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_LibEcrit) = Entit\u00e9Refact &amp; \"\/REFACT QP FRAIS \" &amp; Mois &amp; \"\/\" &amp; Ann\u00e9e\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_Mt) = -TotalHT * (1 + TxTVARefact)\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_R\u00e9f) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 3)\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_NumPi\u00e8ce) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 3)\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_NumFre) = Table_ListeCodeTiersRefact(NumEntit\u00e9EnCours, 3)\r\n                Table_EcrituresAExporter(k, Champ_EcrituresAExporter_DateEch) = DateEchRefact\r\n            End If\r\n            'G\u00e9n\u00e9ration du fichier d'import\r\n            Workbooks.Add\r\n            With ActiveSheet\r\n                .Range(\"A1:J\" &amp; UBound(Table_EcrituresAExporter, 1)).Value = Table_EcrituresAExporter\r\n                Application.DisplayAlerts = False\r\n                .SaveAs Chemin &amp; \"\\\" &amp; Entit\u00e9EnCours &amp; \" - Ecritures \u00e0 importer \" &amp; Mois &amp; \"-\" &amp; Ann\u00e9e, FileFormat:=xlCSV, CreateBackup:=False, Local:=True\r\n                ActiveWorkbook.Close\r\n                Application.DisplayAlerts = True\r\n            End With\r\n        End If\r\n    Next NumEntit\u00e9EnCours\r\nEnd Sub\r\n<\/pre>\n<p style=\"text-align: justify;\">Quelques explications sur le code-source :<\/p>\n<p style=\"text-align: justify;\">La compr\u00e9hension du fonctionnement de ce programme n\u00e9cessite de conna\u00eetre quelques notions de base de la programmation (<a href=\"https:\/\/www.auditsi.eu\/?p=1623\">d\u00e9couverte du langage Basic<\/a>, <a href=\"https:\/\/www.auditsi.eu\/?p=5678\">manipulation de donn\u00e9es et variables tableau<\/a>&#8230;).<\/p>\n<pre class=\"lang:default decode:true \">.SaveAs Chemin &amp; \"\\\" &amp; Entit\u00e9EnCours &amp; \" - Ecritures \u00e0 importer \" &amp; Mois &amp; \"-\" &amp; Ann\u00e9e, FileFormat:=xlCSV, CreateBackup:=False, Local:=True<\/pre>\n<p style=\"text-align: justify;\">Celle ligne enregistre les \u00e9critures au <a href=\"https:\/\/www.auditsi.eu\/?p=6387\">format CSV (Comma Separated Value)<\/a>. Ce lien renvoie vers un article qui d\u00e9crit les diff\u00e9rentes \u00e9tapes pour enregistrer des donn\u00e9es dans un fichier au format CSV ainsi que les fonctionnalit\u00e9s des instructions <em>.SaveAs<\/em>, <em>.Close<\/em> et &nbsp;<em>Application.DisplayAlerts<\/em>. L&#8217;assertion <em>Local:=True<\/em> retient les formats locaux du syst\u00e8me d&#8217;exploitation (ici, les formats fran\u00e7ais)&nbsp;en lieu et place des formats am\u00e9ricains standard comme caract\u00e9ristiques de format du fichier de destination (\u00e0 savoir, entre autres, d\u00e9limiteur de champ point-virgule au lieu de la virgule et d\u00e9cimale virgule au lieu du point).<\/p>\n<p style=\"text-align: justify;\">&#8212;<\/p>\n<p style=\"text-align: justify;\">Tous les articles en rapport avec l&#8217;<a href=\"https:\/\/www.auditsi.eu\/?tag=importation-de-donnees\">importation de donn\u00e9es<\/a>.<\/p>\n<p style=\"text-align: justify;\">Approfondir le sujet : <a title=\"Programmer en VBA\" href=\"http:\/\/www.auditsi.eu\/?cat=1569\">Programmer en VBA<\/a> \/ <a title=\"S\u00e9rie d'articles Ma\u00eetriser Excel\" href=\"http:\/\/www.auditsi.eu\/?p=4475\">D\u00e9couvrir la s\u00e9rie d\u2019articles Ma\u00eetriser Excel<\/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=\"Automatiser%20la%20g%C3%A9n%C3%A9ration%20des%20%C3%A9critures%20d%27achat%20intragroupe%20et%20les%20int%C3%A9grer%20dans%20un%20syst%C3%A8me%20comptable\";<\/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 programmation informatique est une source in\u00e9puisable de gains de productivit\u00e9.&nbsp;Appliqu\u00e9e aux m\u00e9tiers de la comptabilit\u00e9 et de la finance, les programmes limitent, entre autres,&nbsp;le temps pass\u00e9 \u00e0 la saisie d&#8217;\u00e9critures pour recentrer le travail des \u00e9quipes comptables sur des t\u00e2ches de contr\u00f4le et d&#8217;analyse. Ce sujet est r\u00e9guli\u00e8rement \u00e0 l\u2019honneur sur ce blog. En &#8230;<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?p=7259\" class=\"more-link\">Continue reading &lsquo;Automatiser la g\u00e9n\u00e9ration des \u00e9critures d&#8217;achat intragroupe et les int\u00e9grer dans un syst\u00e8me comptable&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=\"Automatiser%20la%20g%C3%A9n%C3%A9ration%20des%20%C3%A9critures%20d%27achat%20intragroupe%20et%20les%20int%C3%A9grer%20dans%20un%20syst%C3%A8me%20comptable\";<\/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":[39,490,215],"tags":[1680,815,1791,939,1691,1633,986,816,1882,1894,985,341,64,803,1790,1151,1793,723,1071,1689,1884,1883,1641,1682],"class_list":["post-7259","post","type-post","status-publish","format-standard","hentry","category-cas-pratiques","category-cycle-fournisseurs-controle-des-comptes","category-vba","tag-saveas","tag-automatisation","tag-comma-separated-value","tag-csv","tag-ecritures-comptables","tag-excel","tag-fichier-texte","tag-gains-de-temps","tag-i7","tag-importation-decritures-comptables","tag-importation-de-donnees","tag-intercompagnie","tag-interface","tag-journaux-comptables","tag-localtrue","tag-plan-comptable","tag-point-virgule","tag-productivite","tag-reciprocites","tag-sage-100","tag-table-de-correspondance","tag-uniformisation","tag-vba","tag-xlcsv"],"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\/7259","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=7259"}],"version-history":[{"count":17,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/7259\/revisions"}],"predecessor-version":[{"id":7302,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/7259\/revisions\/7302"}],"wp:attachment":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}