Introduction et définition #
Les termes : « Macro », « Excel-VBA », « VBA » sont couramment utilisés sur les réseaux sociaux, mais leur interprétation et champs d’application varie d’une personne à l’autre.
Une « Macro » est un acronyme pour « Macro commande » dont vous trouverez un extrait de la définition tirée de Wikipedia :
« En programmation, une macro-commande (ou macro) est une suite de commandes natives d’un logiciel[1],[2],[3], préparées à l’avance et généralement spécifiques à l’utilisateur ou à un contexte matériel. Leur emploi évite des fautes de frappe, simplifie des tâches répétitives ou améliore la lisibilité d’un programme (cas du langage C). Les macro-commandes ne sont donc pas natives, contrairement aux commandes. »
Globalement ces acronymes sont une manière de parler de la même chose : Un langage de programmation interne à Excel et propre à Microsoft. Il peut être utilisé aussi avec Excel que Word, Powerpoint et probablement Outlook (jamais essayé…)
Le « VBA » est une branche du langage de base utilisé par Microsoft et qui s’appelle le « Visual Bais .Net ». Ce langage est celui utilisé par tous les produits Microsoft, ce qui rend le « VBA » très puissant.
Que peut-on faire en programmant des fonctionnalités en VBA dans Excel? #
Que peut-on faire en programmant des fonctionnalités en VBA dans Excel?
- Créer des fonctions de calcul spécifique dans Excel
- Créer, modifier, déplacer, supprimer des tableaux Excel, des cellules, des onglets
- Créer, modifier, supprimer des répertoires/dossiers sur un ordinateur, un serveur ou sur un Cloud
- Créer, modifier, déplacer, supprimer, renommer, tout type de fichier (Excel, Word, Powerpoint, pdf, .Txt…)
- Export des données Excel vers un autre type de fichiers (Word, TXT…)
- Importer des données provenant de fichiers (Word, TXT…) vers Excel
- Créer des menus spécifiques dans Excel, qui exécuteront des tâches programmées
- Créer des fonctionnalités transversales (add-Ins) qui deviennent de nouvelles fonctions au sein de votre Excel. Par exemple créer une fonction de calcul spécifique à votre métier qui sera disponible dans votre environnement Excel comme n’importe quelle autre fonction. Les « Add-Ins » peuvent aussi être transmis et installé sur d’autres ordinateurs.
- Programmer depuis Excel la création de rapports Word (ou autre) format et combiner des chiffres et du texte sur mesure
- Programmer la mise en page et la mise en forme de documents (Excel, Word) de manière automatique ou semi-automatique
- Créer des bibliothèques de références (texte, chiffres) qui seront utilisés pour déplacer, modifier des données dans le cadre de fonctions programmées
- Créer des listes de données (en très grande quantité) qui peuvent être utilisées pour des calculs, des transformations… au sein d’un ensemble de fonctions programmées
Cette liste est un extrait des possibilités très vastes d’utilisation du code « VBA » que ce soit avec Excel, ou Word, qui sont les plus courants.
Limites à la création de solution à partir du VBA #
Il n’y a pas vraiment de limites à ce qui peut être fait sur le plan technique puisqu’il est possible de créer des « micro-logiciels » à part entière avec Excel. La différence avec un logiciel « classique » est qu’il dépendra d’Excel pour fonctionner.
Créations de solutions avec Excel VBA #
Champs d’applications des macro #
Les possibilités sont innombrables, mais voici quelques exemples pour illustrer la puissance de cette approche :
- – Dans le cadre d’une démarche exploratoire pour la modélisation d’un futur logiciel métier
- – Création de formules (mathématiques, statistiques, scientifiques, ingénierie) spécifiques qui pourront être intégrées aux formules Excel existante. Il est également possible de les distribuer en les intégrant dans un « Add-Ins » qui pourra être installé dans des suites MS-Office (exclusion de Office365 Online).
- – Modélisation d’un ensemble mesures de performances (KPI), couplée à des sources de données d’origines diverses
- – Transformation, préparation de données avant d’être importées dans une base de données
- – Création de solutions complètes pour la gestion comptable et financière d’une organisation
- – Création de micro-logiciels métiers qui n’existent pas sur le marché
- – Concentration de données et gestion de données administratives pour simplifier et faciliter le traitement de dossiers patients/clients par la production d’un ensemble de courriers, formulaires…
Exemples de créations par AGICA #
- A) Finance/Budget : Création d’un système complet avec :
- – Production des formulaires à remplir : Phase semi automatisée pour la création de l’ensemble des fichiers nécessaires au budget à partir de formulaires standardisés par métier (ie: normes SIA construction)
- – Processus de contrôle qualité et de consolidation intégrés permettant d’assurer la cohérence financière du budget à l’échelle locale
- – Production d’un fichier « plat » (type .txt) pour l’export des informations vers dans une base de données centralisée
- – Création automatique d’un identifiant unique par projet permettant un suivi en comptabilité analytique, et en reporting
- B) Comptabilité
- – Création d’une solution pour la gestion des salaires et des absences pour les besoins d’une fiduciaire genevoise. Avec fiches de salaires modulaires, synthèses mensuelles et annuelles pour l’employé, l’employeur. Calcul mensuel détaillé des charges salariales pour les besoin de la comptabilité. Suivi du décompte des jours de vacances au niveau de l’employé et de l’employeur. Gestion des changements de mode de rémunération, départ et arrivées en cours d’années. Reprise des informations pour créer automatiquement une nouvelle année fiscale.
- – Création d’un logiciel de comptabilité simplifié pour les besoins d’une organisation publique. Enregistrement des transaction des 2 livres de caisse et/ 2 comptes bancaires. Production de quittances pour les entrées et les sorties de fonds. Assistance à la saisie des transactions pour des utilisateurs sans connaissances comptables. Production d’une synthèse de type « Pertes&Profits », calcul automatique du solde de chaque compte et global. Alimentation d’un rapport de synthèse global de type PP et Bilan pour faciliter la clôture annuelle. Indicateurs de dépenses/revenus en fonction des valeurs budgétées
- – Création d’un logiciel de comptabilité simple pour MS-Office Mac destiné aux PME, ONG et particulier. Le fichier inclus des plans comptables prédéfinis en fonction des cas. Chaque plan comptable peut être modifié, adapté. La saisie des données se fait au moyen de 4 grands livres (2 pour la caisse, 2 pour la banque). Le système a été simplifié au maximum ce qui le rend très accessible: Les personnes enregistrent les « entrées » et « sorties » d’argent. Des tableaux de synthèse permettent de suivre l’évolution de la situation si des montants pour le budget ont été renseignés. Un tableau croisé-dynamique est également inclus, ainsi que des rapports annuels de type « pertes & profits », bilan et un tableau de suivi mensuel. Les données automatiquement mises à jour par l’utilisateur au moyen d’un simple bouton. Ce micro-logiciel est disponible gratuitement sur notre site web. Sa licence qui lui est associée est de type CC-BY-SA 4.0
- C) Construction
- – Création d’un système de gestion des métrés et de suivi financier avec facturation pour un projet multi-sectoriel, sur plusieurs années et cofinancé par près d’une dizaines de bailleurs. Le micro-logiciel a été conçu pour planifier les métrés, relever les métrés, calculer les contre-valeur financières, générer les factures intermédiaires des bailleurs en fonction des activités réalisées sur chaque site. A titre indicatif le système est composé de plus de 45 feuilles de calculs qui contiennent chacune en tableau d’environ 800 lignes et près de 60 colonnes… La consolidation des données est effectuées en moins de 2 minutes sur Excel.
- – Création d’un système de planification de projets de type GANNT sur mesure pour répondre aux particularités des besoins métier d’un bureau d’architectes travaillant sur MS-Office pour Mac. Planification standardisée avec codes couleurs spécifiques, calcul des échéances de chaque étape clé et révision automatique de l’ensemble du projet en cas de changements de délais, retards. Vérification de la cohérence de la planification…
- – Création d’un système de planification et de suivi financier d’un projet de construction d’immeubles. Avec suivi du des paiements fournisseurs, calcul des retenues de garantie au niveau mensuel, trimestriel et annuel. Système pour la simulation de scénario d’amortissement multi-parties, gestion et suivi des comptes courants en banque pour les travaux.
- D) Tourisme
- – Reconstruction et expansion d’un système pour la création de voyages sur mesure haut de gamme. Planification du voyage dans ses moindres détails: horaires des vols, trains, hébergement, descriptif des lieux visités, production des vouchers, informations pour les contacts sur site, coordonnées d’urgences, gestion des données clients. Puis production d’un livre de voyage au format Word qui sera imprimé et transmis au client. Le processus initialement prenait entre 4 et 6 heures de travail pour établir une dossier simple et environ 65% des informations requises pour le client. La version finale permettait de créer un document complet en moins de 2 heures avec 100% des données attendues. Le système permettait également la reprise de données et leur mise à jour sans risque d’erreur, ce qui n’était pas le cas avant (problèmes de copier/coller).
- E) Sécurité au travail – toxicologie
- – Création d’une solutions pour établir des mesures de polluants au sein d’entreprise travaillant dans l’industrie de la chimie. Production de rapports détaillés individualisés ou groupés sur mesure. Calcul des risques encourus sur la base de statistiques et de normes. Le système mis en place permet de réaliser une étude approfondie et complète en moins de 2 minutes alors qu’à l’origine cette opération était manuelle, avec des risques d’erreurs lors des calculs et synthèses. Le processus prenait entre 2 et 4 heures par dossier, selon la complexité du cas. Le système mis en place est davantage un ensemble de fichiers programmées qui interviennent de manière séquencées à différentes étapes du processus.
- – Création d’une solution pour produire des rapports précis sur l’état de fonctionnement de chapelles utilisées dans le cadre de manipulation de produits chimiques parfois hautement dangereux pour la santé. Ici également la réalisation d’un rapport complet et poussé est passé de plusieurs heures à moins d’une minutes dès lors que les informations sont disponibles.
- F) Santé publique
- – Création d’un système de gestion administratif pour la prise en charge de demande de soutien financier auprès de personnes. Le processus inclus l’extraction des données issues d’un fichier Word. La vérification des éléments clés préalables à tout import. Les données sont centralisées pour permettre la production de 2 fichiers qui alimentent des bases de données distinctes. Un second logiciel assure la gestion et le suivi administratif des dossiers acceptés avec une reprise automatique des données existantes en vue de leur utilisation par une commission d’expertise. La solution permet un suivi statistiques des activités de l’organisation pour les besoins d’évaluation qualitatif et quantitatif. Chaque étape du processus métier est conforme à des contraintes légales propres au domaine de la santé. Chaque phase du système inclus également des contrôles qualités ainsi que des garde-fous pour réduire tout transfert d’information manuel au strict minimum et ainsi prévenir au maximum les risques d’erreur