Une application Visual Basic 6 tourne toujours en production, quinze ou vingt ans après sa mise en service, et l'entreprise se demande combien de temps ça va durer. La réponse surprend souvent : ce n'est presque jamais le langage qui lâche.

Le moteur d'exécution n'est pas le problème

Microsoft s'est engagé sur un point précis : la bibliothèque d'exécution de Visual Basic 6 — MSVBVM60.DLL — est supportée pendant toute la durée de vie de chaque version de Windows, sous un principe explicitement nommé « It Just Works ». Elle est présente et prise en charge sur Windows 11.

Ce qui a perdu son support, c'est l'environnement de développement, en avril 2008. Autrement dit : votre application continue de fonctionner, mais l'outil qui permettait de la modifier, lui, n'est plus soutenu.

C'est toute la difficulté, et elle est mal comprise. Le risque n'est pas que le programme s'arrête un matin. Le risque est que plus personne ne puisse y toucher le jour où il le faudra.

Ce qui tient et ce qui lâche

Ce qui tient

  • Le moteur d'exécution VB6, supporté par Microsoft
  • Les exécutables 32 bits, qui s'exécutent sur Windows 64 bits
  • Le format des binaires, inchangé depuis 1998
  • La logique métier elle-même, qui ne se dégrade pas

Ce qui lâche

  • Les composants tiers OCX et ActiveX dont l'éditeur a disparu
  • L'environnement de développement, sans support depuis 2008
  • Les couches d'accès aux données d'époque
  • Le code source, égaré ou jamais archivé
  • Et surtout : la personne qui savait comment ça marche

Les deux dernières lignes sont celles qui font les vraies urgences. Une application qu'on ne peut plus modifier n'est pas encore un problème — jusqu'au jour où une mention légale change, où un partenaire modifie un format de fichier, ou où un contrôle tiers refuse de s'enregistrer sur un poste neuf.

Sur la question de l'exécution proprement dite, nous traitons séparément le fonctionnement d'une application VB6 sur Windows 10 et 11.

Selon ce qu'il faut changer, l'effort n'a rien à voir

Beaucoup de demandes qui paraissent exiger une reprise complète n'en ont pas besoin. Autant le savoir avant de budgéter une réécriture.

Un texte, un logo, une fenêtreRaison sociale, mention légale, image, disposition d'un formulaire : modifiable directement dans le binaire, sans le code source et sans recompiler.
Une règle métier, un calcul, un formatIl faut atteindre le code. Sans les sources, cela passe par une récupération du projet.
Un composant tiers à remplacerLe plus délicat : il faut le code pour substituer le contrôle et réécrire ce qui l'utilisait. C'est souvent ce qui déclenche la démarche.
Une migration vers .NETElle suppose de disposer du projet. Le décompiler d'abord, migrer ensuite — jamais l'inverse.

Ce que vous pouvez établir dès aujourd'hui

Avant tout arbitrage, il est utile de savoir ce que contient réellement le binaire que vous détenez. Un exécutable VB6 conserve beaucoup plus que ce qu'on imagine : la description complète des formulaires et de leurs contrôles, les ressources embarquées, les références aux composants COM et ActiveX utilisés, les déclarations d'API Win32, et les noms des procédures publiques.

Cet inventaire répond à des questions concrètes que personne ne sait plus trancher dans l'entreprise : de quels composants tiers dépend cette application ? Combien d'écrans comporte-t-elle ? A-t-elle été compilée en P-Code ou en code natif — ce qui détermine ce qu'une décompilation rendra ?

Ce que la compilation a supprimé, en revanche, ne revient pas : noms des variables locales, procédures privées, commentaires, constantes repliées. La couverture réelle de la reconstruction est publiée avec ses dénominateurs — 1 153 correspondances documentées, fonction par fonction et instruction par instruction.

Une remarque sur le mot « support »

Nous éditons un outil, pas une prestation d'infogérance. Ce que VBReFormer apporte à une application VB6 sans code source, c'est la capacité de l'ouvrir, d'en dresser l'inventaire, d'en modifier l'interface et d'en reconstituer le projet. Le reste — l'exploitation, l'hébergement, l'assistance aux utilisateurs — relève de votre organisation ou de votre prestataire.

C'est une distinction qui vaut d'être posée, parce que la plupart des entreprises qui nous écrivent ont un problème de maîtrise avant d'avoir un problème d'exploitation : l'application fonctionne, mais plus personne ne peut la faire évoluer.

Par où commencer

La version gratuite de VBReFormer ouvre votre exécutable et vous montre son mode de compilation, ses formulaires, ses contrôles et ses ressources. En quelques secondes, vous savez ce qui est récupérable — et donc ce que coûte réellement la modification que vous envisagez.

Assurez-vous de détenir les droits sur l'application concernée : le cas le plus courant, et de loin, est la récupération de son propre logiciel.