Revue Française de Comptabilité // N°445 Juillet-Août 2011 // 43 Synthèse // Ré
Revue Française de Comptabilité // N°445 Juillet-Août 2011 // 43 Synthèse // Réflexion // Une entreprise/un homme // Références AUDIT Pourtant le VBA (pour Visual Basic for Application) est un puissant langage de programmation qui accompagne toutes les applications de la suite Office de Microsoft. Ce langage de programma tion étend à l’infini les capacités de trai tement de l’information et d’analyse de données de ces logiciels et notamment d’Excel. Il permet d’automatiser des traitements comme l’analyse de don nées et de les reproduire de manière identique voire de les systématiser sur l’ensemble des dossiers. Cet article s’efforcera de démontrer l’intérêt que la profession peut tirer de cet outil de développement au travers d’un exemple simple mais efficace. Le VBA, un langage de programmation à la portée de tous Le langage VBA, basé sur le Basic 2, est assez facile à prendre en main. Il étend les capacités de traitement des logiciels hôtes et assure principalement deux fonctions : • ajout de nouvelles fonctions utilisables directement dans les formules des feuilles de calcul Excel 3, • création d’applications à l’aide de pro cédures. Ce sont plus spécifiquement les procé dures qui font l’objet de cet article. La prise en main du module Visual Basic nécessite : • de découvrir l’environnement de déve loppement VBA : ce module, semblable sur l’ensemble des applications de la suite Office, assure l’édition des programmes VBA, • de maîtriser les mots-clefs et la syntaxe du langage : ce langage s’assimile très rapidement, tant les termes (quoique en anglais) sont peu nombreux, • de comprendre la logique de program mation. La littérature spécialisée est très fournie et de nombreux sites animés par des pas sionnés forment une riche mine d’infor mation sur ce sujet 4. Cet article se veut une initiation et, à ce titre, présente une démarche de mise en œuvre concrète illustrée d’une application d’analyse de données. A l’issue, le lecteur maîtrisera les principales syntaxes de pro grammation du VBA (boucles, tests…) et saura effectuer les principaux types de manipulations proposés par Excel : • ouvrir un nouvel onglet dans un classeur, le renommer, • manipuler des cellules : les lire, y écrire des données y compris des formules de Le contrôle des comptes à l’aide du langage VBA d’Excel L’audit de données peut être mené à l’aide de différents outils durant toutes les étapes de la mission du commissaire aux comptes : avec des logiciels spécialisés (Idea, ACL), à l’aide de requêtes SQL 1 ou encore avec des tableurs (Excel, Calc…). C’est souvent cette dernière catégorie d’outils qui a la préférence des auditeurs. Ce sont en effet les outils les plus maniables et les plus flexibles qui soient. Généralement, l’auditeur met en œuvre des fonctionnalités plus ou moins élaborées de son tableur : filtres, tris, formats conditionnels voire tableaux croisés dynamiques, liens intertables (requêtes SQL, « recherchev »)… Une autre possibilité offerte par les tableurs modernes est toutefois fréquemment négligée par méconnaissance : le VBA. 1. Cf. à ce sujet l’article intitulé “Contrôle des comptes par le commissaire aux comptes à l’aide de l’analyse de données“, Revue française de comptabilité n° 433 de juin 2010 et http://www.auditsi.eu/?p=400. Cet article se proposait de mettre en avant l’intérêt du langage de requêtes SQL dans l’analyse de données tandis que le présent article tente de démontrer l’intérêt du VBA, langage plus généraliste et plus puissant encore. 2. Extrait de l’encyclopédie Wikipedia (URL : http://fr.wikipedia.org/wiki/BASIC) : « En programmation, Basic est un acronyme pour Beginner’s All-purpose Symbolic Instruction Code, qui désigne une famille de langages de programmations de haut niveau. Le Basic a été conçu à la base en 1963 […] pour permettre aux étudiants qui ne travaillaient pas dans des filières scientifiques d’utiliser les ordinateurs. En effet, à l’époque, l’utilisation des ordinateurs nécessitait l’emploi d’un langage de programmation réputé réservé aux seuls spécialistes, en général un langage d’assemblage ou Fortran. Le Basic est indissociable de l’apparition, dans les années 1980, de la micro-informatique grand public. En effet, la plupart des micro- ordinateurs vendus durant cette période étaient fournis avec un interprète Basic […]. » 3. Le tutoriel “Excel : Créer une fonction en VBA“ (http://www.auditsi.eu/?p=513) présente la démarche à suivre pour créer une fonction Excel. 4. Le lecteur se référera aux sites internet http://vb.developpez.com/ et http://www.vbfrance.com/ pour plus d’information ainsi qu’aux ouvrages “VBA Excel 2007 - Maîtrisez la programmation sous Excel“ (Editions ENI) et “VBA pour Office 2007“ (Micro-Application) afin d’approfondir le sujet. Résumé de l’article L’audit de données prend une part de plus en plus importante dans les travaux d’audit du commissaire aux comptes. Pour l’aider à remplir cette tâche, le commissaire aux comptes dispose d’une palette complète d’outils. L’un de ces outils est le VBA (Visual Basic for Application). Il est souvent ignoré par la profession alors qu’il est présent sur tous nos ordinateurs. Facile à maîtriser et à mettre en œuvre, il n’attend qu’une seule chose : démontrer aux profes sionnels que nous sommes les for midables capacités de traitement de données qu’il est en mesure d’ap porter à Excel. Par Benoît-René RIVIÈRE Expert-comptable, COGEDIAC & Associés S.A. à Caen // N°445 Juillet-Août 2011 // Revue Française de Comptabilité 44 calcul, les formater (couleur, type numé rique…), • activer les filtres automatiques. Un exemple pour démontrer l’intérêt du VBA pour le commissaire aux comptes Pour démontrer l’intérêt du VBA pour le commissaire aux comptes, rien ne vaut un exemple concret : l’audit des états de stocks 5. La difficulté à laquelle se trouve souvent confronté l’auditeur est le volume de données à analyser en des temps réduits : les états d’inventaire sont fréquemment composés de milliers de lignes. Une revue manuelle des états papier ou informatique s’avère rapidement fastidieuse et repose obligatoirement sur des sondages. L’analyse automatisée de données s’affranchit de ces contraintes et permet même des tests exhaustifs. L’exemple proposé présente un état de stock sur Excel (onglet “STOCK“). Cet état comprend une référence, une dési gnation, une quantité, un prix unitaire et un total. L’utilisateur colle l’état d’inven taire à auditer dans cet onglet puis clique sur le bouton “Lancer le test“ (figure 1). Le code source VBA va réaliser une série de tests automatiquement sur l’état d’in ventaire et créer un nouvel onglet (intitulé “Résultat“) 6. L’application génère un second onglet nommé “RESULTAT“ qui comprend le résultat des tests. Les calculs ne pren nent que quelques instants. Tests effectués par le programme L’application effectue les contrôles sui vants : • analyse de la cohérence des quantités (quantités négatives) et des prix unitaires (PU négatifs ou nul avec quantité ren seignée), • contrôle du total de la ligne (quantité x PU) En fonction des écarts relevés, le pro gramme colorise les anomalies en rouge (PU négatifs par exemple) et attire l’atten tion de l’auditeur sur de potentielles ano malies (PU nuls) en colorisant certaines cellules en jaune. Résultat obtenu Le résultat des tests (cf. figure 2) permet à l’auditeur de se focaliser, dans un pre mier temps, sur les anomalies réelles et potentielles relevées par le programme 5. Différentes manières d’analyser la cohérence des stocks coexistent notamment à l’aide de requêtes SQL, à titre de comparaison cf. l’article http://www.auditsi.eu/?p=560. 6. Un autre exemple de fonction et de procédure en VBA de retraitement de données (« Audit de données et VBA : automatisation du formatage des données numériques ») est consultable ici : http://www.auditsi.eu/?p=520. AUDIT Synthèse // Réflexion // Une entreprise/un homme // Références Figure 1 : Etat du stock et bouton de lancement des tests (onglet “STOCKS“) Figure 2 : Résultat des tests (onglet “RESULTAT“) Revue Française de Comptabilité // N°445 Juillet-Août 2011 // 45 AUDIT (celles-ci étant mises en évidence à l’aide de couleurs). Pour ce faire, l’auditeur a toute latitude pour filtrer les données par couleur de cellule et/ou en fonction des données chiffrées. Explication pas à pas du code-source Le code-source du programme présenté ci-avant dans l’article est détaillé dans les grandes lignes dans la présente partie 7. Il est composé de seulement 140 lignes. La lisibilité du code-source est amélio rée par : • l’ajout de commentaires (les commen taires sont précédés d’une apostrophe ; ce signe signale à l’interpréteur VBA de ne pas exécuter la ligne) expliquant le fonc tionnement du programme ; • le texte du code est décalé en marge en fonction de la progression dans les boucles et procédures. Cette mise en forme est purement conventionnelle ; le fait de ne pas la respecter n’a aucune incidence sur l’exécution du code mais réduit sensiblement sa compréhension par un programmeur. Le tableau 1 fournit des extraits commen tés du code-source du programme. Des conseils complémentaires et quelques sources d’erreurs communes sont résu més dans l’encadré 2. Tableau 1 : Extraits commentés du code-source de l’application Code VBA Commentaires Option Explicit Sub TestStocks() Cette procédure teste la cohérence d’un état de stock Option Explicit Cette clause est facultative ; elle oblige le programmeur à déclarer toutes ses variables => en cas d’erreur de saisie sur le nom d’une variable, le programmeur détectera plus facilement l’erreur uploads/Finance/ rfc-1107-p43-47-vba-stocks-pdf.pdf
Documents similaires







-
23
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 17, 2021
- Catégorie Business / Finance
- Langue French
- Taille du fichier 0.6076MB