QU'EST-CE QUE LA MIGRATION DE VBA ?

SOKEO et la migration de VBA, une solution pour votre développement informatique

Le développement informatique n’a plus de secret pour SOKEO. Située à Marseille, notre agence web est l’experte pour le développement de votre application web, le développement de votre application mobile ou la création de votre site internet. Ainsi, parmi différentes méthodes, nous sommes en mesure de réaliser votre projet de développement informatique grâce à la migration de VBA. Vu que VBA est devenu obsolète, il est préférable de partir sur de nouvelles bases afin d’effectuer votre développement informatique. Vos données présentes sur VBA seront réimportées pour éviter une retranscription longue et pénible et ainsi, gagner du temps. Le nouveau logiciel ou la nouvelle application ne nécessitera donc pas une nouvelle saisie de vos données vu que la réimportation de celles-ci est possible. De cette manière, votre entreprise ne subira pas de rupture de service. 

Pour de plus amples informations, n’hésitez pas à nous contacter par mail ou par téléphone. Nos ingénieurs en informatique travaillent avec passion pour la conception de logiciels et applications spécifiques à un projet déterminé. Nous vous ferons un plaisir de vous conseiller et de réaliser une étude personnalisée et gratuite. Nous mettons un point d’honneur aux besoins et objectifs de nos clients. Votre projet de développement informatique sera donc en accord avec vos attentes. La qualité et le suivi de nos prestations font partie des engagements envers nos clients. Notre agence web s’efforce toujours de satisfaire les exigences de ses clients. 

QU'EST-CE QUE VBA ?

VBA, Visual Basic for Applications, est un langage créé en 1993 par Microsoft afin d’être utilisé dans ses logiciels (Excel, Word, etc.). VBA est lié à Visual Basic qui est à la fois un langage de programmation événementielle de troisième génération et un environnement de développement intégré. En effet, les concepts et syntaxes de ces deux langages se ressemblent. Toutefois, VBA ne peut qu’exécuter du code dans une application hôte de Microsoft Office. VBA nécessite donc une licence de la suite bureautique Microsoft. 

De plus, ce langage peut être utilisé pour contrôler une application à partir d’une autre. Par exemple, il est possible de créer automatiquement un document Word à partir de données Excel. Le code est stocké dans des instances de documents appelées macros. L’utilisation principale de VBA reste donc la création de macros. Ces macros permettent l’amélioration de l’ergonomie offerte à l’utilisateur final. Une automatisation quasicomplète des actions menées est également permise.

VBA est un langage simple et facile d’accès fortement apprécié dans le domaine de la finance. Ses principaux inconvénients restent son support limité des fonctions de rappel (« callbacks »), sa gestion archaïque des erreurs et son utilisation de handlers d’erreurs à place d’un mécanisme d’exceptions. Actuellement, Microsoft ne distribue plus de licences VBA à ses nouveaux clients. Son remplacement est VSTA (Visual Studio Tools for Applications). Il s’agit d’un ensemble d’outils de customisation d’application basé sur la plateforme Framework .NET. 

Comment effectuer la migration de VBA ?

VBA est une technologie liée à Windows. Nous proposons des migrations vers d’autres langages Windows comme VB.NET. Nous proposons également d’autres possibilités comme le développement PHPle développement Python, le développement Java Le choix de la migration variera en fonction des besoins des clients et des contraintes possibles. 

Exemple avec VB.NET : .NET est une architecture supportant plusieurs langages (VB, C#, J#…). Toutefois, les possibilités d’utilisation de la technologie Interop sont les plus complètes vers Excel depuis le langage VB.NET. La syntaxe de VB.NET étant la plus proche de celle du VBA, la migration VBA vers VB.NET est la principale privilégiée. 

Afin de lancer une application Excel-VBA, il est nécessaire d’ouvrir un classeur Excel au sein duquel du code VBA est embarqué. Généralement, l’exécution du code a lieu pendant une action de l’utilisateur (ex : cliquer sur un bouton) ou lors de l’ouverture du classeur. 

Pour effectuer la migration de l’application en VB.NET Interop-Excel, le principe de fonctionnement est le suivant : 

  • Le point d’entrée de l’application est un exécutable (.exe)
  • Le lancement de cet exécutable ouvrira la fenêtre de saisie principale, démarrera une instance d’Excel et y chargera le classeur d’origine privé de son code VBA. 

Il sera dès lors essentiel de songer à la manière dont l’application migrée en VB.NET utilisera Excel. VBA2DotNet sera utile pour traduire le code et importer les formulaires utilisateurs dans le nouvel outil de développement. VBA2DotNet travaille depuis des modules, des modules de classe et userform exportés du classeur Excel-VBA. 

Qu'est-ce que le reverse engineering ?

Le reverse engineering ou la rétro-ingénierie en français est l’activité permettant d’analyser un système pour en confectionner une représentation à un plus haut niveau d’abstraction. La rétro-ingénierie en informatique s’applique aux systèmes, logiciels et appareils informatiques. Une rétro-ingénierie sur le langage VBA est donc envisageable. En d’autres termes, la rétro-ingénierie permettrait de partir de l’existant (le langage VBA tel qu’on le connait) pour en reconstruire un similaire, mais avec un langage moderne et actualisé. Le logiciel ou l’application sera ainsi plus flexible et plus robuste. Sa maintenance sera également facilité. La rétro-ingénierie permet d’éviter la réalisation d’un nouveau cahier des charges. En partant de l’existant, les développeurs comprendront les besoins des intervenants. 

La rétro-ingénierie est un challenge technique pour les raisons suivantes :

  • la finalité du programmeur n’est pas explicite ;
  • la problématique initiale peut ne pas être résolue correctement ;
  • l’altération du code a eu lieu afin de répondre à des besoins de maintenance ;
  • le logiciel est un portage d’un environnement différent ;
  • il y a eu un changement ou une évolution de la plateforme matérielle ;
  • la sémantique du langage a été modifiée.