Excel et outils métiers

Vos macros Excel ne fonctionnent plus sur le web : que faire ?

Un classeur peut parfaitement s’ouvrir dans Excel pour le web tout en perdant une partie essentielle de son fonctionnement si celui-ci repose sur des macros VBA. Ce n’est pas un bug de votre fichier : VBA reste une technologie centrée sur Excel desktop.

La réponse courte

Microsoft indique qu’Excel pour le web ne permet pas de créer, d’exécuter ou de modifier des macros VBA. Vous pouvez néanmoins ouvrir et modifier un classeur qui en contient : les macros restent dans le fichier et continuent d’être utilisables depuis l’application de bureau Excel.

Le bon choix n’est donc pas forcément de remplacer le fichier. Il faut d’abord identifier ce que font réellement les macros : automatiser quelques manipulations, orchestrer un workflow, afficher une interface ou faire fonctionner tout un outil métier.

Pourquoi le fichier s’ouvre mais que les macros ne se lancent pas

Excel pour le web sait afficher et modifier un classeur qui contient du code VBA, mais il n’exécute pas ce code. Si un bouton, une ouverture de fichier, une mise à jour de données ou une étape métier dépend d’une macro, cette action peut donc ne plus fonctionner dans le navigateur alors que les feuilles et cellules restent accessibles.

Cela explique un cas fréquent : une entreprise déplace ses fichiers vers OneDrive ou SharePoint pour mieux les partager, puis découvre que le classeur s’ouvre dans le navigateur mais que son comportement n’est plus le même que dans Excel desktop.

Quatre options selon ce que font vos macros

1. Continuer à utiliser Excel desktop

Si les macros fonctionnent bien, que peu de personnes les utilisent et que le besoin web n’est pas indispensable, rester sur l’application de bureau peut être la solution la plus simple. Le navigateur peut servir à consulter ou modifier certaines données, tandis que les actions VBA restent exécutées sur desktop.

2. Réécrire certaines automatisations avec Office Scripts

Office Scripts permet d’automatiser des tâches Excel dans les environnements compatibles, notamment via l’enregistreur d’actions et un éditeur de code. C’est pertinent lorsque les macros automatisent surtout des manipulations de feuilles, tableaux, mises en forme ou traitements répétitifs.

3. Utiliser Power Automate autour du classeur

Office Scripts peut être appelé depuis Power Automate pour intégrer Excel dans un workflow plus large : déclenchement planifié, traitement d’un e-mail, circulation de données entre services ou lancement d’un script sans ouvrir manuellement le classeur.

4. Sortir la logique métier d’Excel

Si les macros gèrent des formulaires, des rôles, des statuts, des validations, plusieurs utilisateurs ou des échanges avec d’autres logiciels, le sujet dépasse parfois la simple conversion VBA vers Office Scripts. Une application métier légère peut alors être plus simple à maintenir et plus adaptée au travail dans le navigateur.

Office Scripts n’est pas une traduction automatique de VBA

Microsoft présente VBA et Office Scripts comme deux technologies d’automatisation proches dans leur objectif, mais différentes dans leur plateforme. VBA est historiquement centré sur les applications de bureau. Office Scripts est conçu pour des scénarios cloud et multiplateformes autour d’Excel.

Certaines macros simples peuvent être réécrites assez directement. D’autres utilisent des fonctions propres au poste de travail, des événements Excel, des composants ou des interactions qui n’ont pas d’équivalent direct. Il faut donc analyser le comportement attendu plutôt que chercher à convertir mécaniquement chaque ligne de VBA.

Quand Office Scripts peut suffire

Une réécriture dans Office Scripts est particulièrement logique lorsque la macro sert essentiellement à répéter des actions dans le classeur : nettoyer des données, mettre en forme un tableau, créer des calculs, préparer un reporting ou appliquer une transformation reproductible.

Microsoft permet également d’associer Office Scripts à Power Automate pour déclencher des traitements depuis d’autres événements ou services. Cela peut éviter de reconstruire toute une application lorsque le besoin reste principalement centré sur Excel.

Le vrai signal d’alerte : les macros sont devenues l’application

Certaines macros ne font plus simplement gagner quelques clics. Elles ouvrent des formulaires, contrôlent les saisies, déplacent des dossiers d’un statut à l’autre, créent des documents, synchronisent des données ou imposent une façon de travailler. Dans ce cas, le classeur est devenu de fait un petit logiciel métier.

Si l’objectif est désormais de travailler à plusieurs dans un navigateur, avec des écrans adaptés, des droits différents, une base centrale et des connexions à d’autres outils, réécrire toutes les macros dans une autre technologie peut simplement reproduire l’ancienne architecture au lieu de résoudre le problème.

Le fichier existant reste utile : ses feuilles, colonnes, macros, règles et formulaires permettent de comprendre ce que le futur outil doit conserver. Il sert alors de point de départ fonctionnel plutôt que de solution technique à reproduire à l’identique.

Exemple : un fichier de suivi partagé qui dépend de VBA

Imaginons un classeur utilisé par une équipe pour suivre des dossiers. Des macros créent de nouvelles lignes, contrôlent certains champs, déplacent les dossiers selon leur statut et préparent un tableau de bord. Sur desktop, le fonctionnement est connu et efficace. Mais l’entreprise veut désormais travailler dans le navigateur et permettre à plusieurs personnes d’utiliser l’outil plus facilement.

Si les macros font surtout du traitement de feuilles, Office Scripts peut être une piste. Si elles représentent en réalité des formulaires, des règles de gestion et un workflow à plusieurs utilisateurs, une petite application avec une base centrale peut être plus cohérente. Les données historiques peuvent rester importables et des exports Excel peuvent être conservés si nécessaire.

Ce qu’il faut inventorier avant de décider

  • la liste des macros réellement utilisées aujourd’hui ;
  • ce qui les déclenche : bouton, ouverture, modification, action utilisateur ou autre événement ;
  • les feuilles, tableaux et fichiers qu’elles lisent ou modifient ;
  • les interactions avec Outlook, fichiers locaux, logiciels externes ou autres composants du poste ;
  • les règles métier cachées dans le code ;
  • le nombre d’utilisateurs et leur besoin réel de travailler dans le navigateur ;
  • les fonctions qui doivent absolument rester dans Excel ;
  • ce qui pourrait être déplacé vers un workflow ou une application séparée.

Cet inventaire permet de distinguer une simple modernisation technique d’un besoin de refonte de l’outil métier.

Questions fréquentes

Mes macros sont-elles supprimées si j’ouvre le fichier dans Excel pour le web ?

Non. Microsoft indique que les macros existantes restent dans le classeur. Elles ne peuvent simplement pas être créées, exécutées ou modifiées dans Excel pour le web.

Puis-je remplacer toutes mes macros par Office Scripts ?

Pas nécessairement à l’identique. Les deux technologies couvrent des scénarios différents. Il faut vérifier macro par macro ce qui peut être repris, simplifié, déplacé dans Power Automate ou remplacé par une autre approche.

Dois-je abandonner Excel pour travailler dans le navigateur ?

Non. Excel pour le web, Office Scripts et Power Automate couvrent déjà de nombreux usages. Le remplacement devient surtout intéressant lorsque le fichier porte un processus métier complet qui devient difficile à maintenir dans un classeur.

À lire ensuite

Si vos macros ne sont qu’un symptôme d’un classeur devenu difficile à maintenir, consultez que faire quand un fichier Excel devient trop complexe. Si votre objectif est de reconstruire l’outil autour du processus réel, consultez aussi quand transformer Excel en application métier.

Passer du principe à votre cas

Décrivez votre processus. Averne analyse ce qui vaut réellement la peine d’être automatisé.