Chapitre 15 · 15.30
Un fichier Excel avec des macros VBA : que faire ?
De nombreuses entreprises possèdent des fichiers Excel (xlsm) contenant des macros : des boutons qui créent une facture, trient une liste ou copient des données. Ces macros sont écrites en VBA, le langage de programmation de Microsoft Office. Que se passe-t-il lorsque vous ouvrez un tel fichier dans votre WebOké Nextcloud ?
La réponse honnête
Euro-Office n'exécute aucune macro VBA. Le fichier s'ouvre normalement, vous voyez toutes les données et formules, mais les boutons et les actions automatiques ne font rien. Les macros d'Euro-Office sont écrites en JavaScript, un autre langage.
Que pouvez-vous faire ?
- Utiliser le fichier uniquement pour les données : remplir, consulter et calculer fonctionnent normalement. Utilisez alors les macros dans Excel.
- Recréer la macro dans Euro-Office : allez dans l'onglet Affichage et cliquez sur Macros. Vous pouvez y créer une macro en JavaScript, ou l'enregistrer avec Enregistrer une macro : Euro-Office enregistre alors vos actions sous forme de macro.
- Vérifiez si vous avez encore besoin de la macro : de nombreuses anciennes macros trient, filtrent ou colorent. Cela est souvent possible aussi sans macro, avec un tableau croisé dynamique, une mise en forme conditionnelle (voir Colorer toute une ligne lorsque la facture est payée) ou XLOOKUP (voir XLOOKUP : recherche vers la gauche et avec un message personnalisé).

Une fonction personnalisée
Utilisiez-vous dans Excel une fonction VBA personnalisée dans vos formules, comme =TVA(A1) ? Dans la fenêtre Macros, vous pouvez créer une fonction personnalisée en JavaScript sous Fonctionnalités personnalisées. Cela nécessite toutefois des connaissances en programmation. Une telle fonction ne fonctionne que dans Euro-Office, pas dans Excel.
Pièges à éviter
- Conservez toujours l'original. Si vous enregistrez un fichier xlsm dans Euro-Office, le code VBA peut devenir inutilisable pour Excel. Si le fichier doit continuer à fonctionner dans Excel, modifiez une copie, ou ne le modifiez que dans Excel.
- Les formules contenant une fonction VBA personnalisée affichent dans Euro-Office une valeur d'erreur telle que #NOM?.
- Les macros dans les fichiers d'autres personnes peuvent effectuer des actions indésirables. Si un fichier contient des macros automatiques, Euro-Office vous demande à l'ouverture si vous souhaitez les exécuter. Ne répondez oui que si vous faites confiance au fichier.
- Besoin d'aide pour convertir une macro importante ? Faites appel à quelqu'un qui connaît le JavaScript ; le support WebOké se fera un plaisir de vous orienter vers les possibilités.
