Chapitre 2 · 2.5
Macros de Word et Excel (VBA) : qu'est-ce qui fonctionne encore ?
Une macro est un petit programme intégré à un document : un bouton qui crée une facture ou trie une liste. Dans Word et Excel, les macros sont écrites en VBA. Vous reconnaissez ces fichiers à leur extension docm, xlsm ou pptm, ou bien il s'agit d'anciens fichiers doc et xls.
Ce qu'il faut savoir
| LibreOffice | Euro-Office | |
|---|---|---|
| Ouvrir le fichier et utiliser les données | Oui | Oui |
| Exécuter des macros VBA | En partie, surtout celles d'Excel, si vous l'activez | Non |
| Macros personnelles | En LibreOffice Basic et en Python | En JavaScript |
Dans LibreOffice
Pourquoi rien ne se passe ? Par mesure de sécurité, LibreOffice désactive les macros par défaut. Vous voyez alors un message du type Les macros sont désactivées en raison des paramètres de sécurité des macros.
- Choisissez Outils > Options... > Chargement/enregistrement > Propriétés VBA. Pour Microsoft Excel (et si nécessaire Word), cochez Charger le code Basic, Code exécutable et Enregistrer le code Basic d'origine.
- Choisissez Outils > Options... > LibreOffice > Protection et cliquez sur Sécurité des macros.... Choisissez Moyen : LibreOffice vous demandera alors quoi faire pour chaque fichier contenant des macros.
- Fermez le fichier et rouvrez-le. Choisissez Activer les macros, mais uniquement si vous faites confiance au fichier.
LibreOffice peut exécuter une grande partie du code VBA, mais pas tout. Si un bouton ne fonctionne pas, la macro doit être adaptée dans l'éditeur Basic (Outils > Macros > Éditer les macros...). Cela demande des connaissances en programmation.
Si vous enregistrez de nouveau le fichier au format xlsm, le code VBA d'origine est conservé grâce à l'option Enregistrer le code Basic d'origine. Si vous l'enregistrez au format ods, le code VBA est perdu.
Dans Euro-Office
Euro-Office n'exécute pas de VBA. Le fichier s'ouvre normalement et vous voyez toutes les données et formules, mais les boutons ne font rien. Dans l'onglet Affichage, sous Macros, vous pouvez créer une macro en JavaScript ou en enregistrer une. Pour en savoir plus, consultez Un fichier Excel avec des macros VBA : que faire ?.

Avez-vous encore besoin de la macro ?
De nombreuses anciennes macros servent à trier, filtrer, colorer ou rechercher quelque chose. C'est souvent possible sans macro :
- colorer : la mise en forme conditionnelle (Mise en forme conditionnelle : colorer les cellules automatiquement) ;
- rechercher : RECHERCHEV ou RECHERCHEX (Recherche verticale avec RECHERCHEV et RECHERCHEX) ;
- résumer : un tableau croisé dynamique (Créer un tableau croisé dynamique) ;
- créer des lettres à partir d'une liste : le publipostage (Créer des lettres à partir d'une liste d'adresses (publipostage)).
Pour en savoir plus sur les options dont vous disposez, consultez Macros, modèles et tests de compatibilité.
Attention : les macros contenues dans des fichiers provenant d'autres personnes peuvent être malveillantes. Ne réglez jamais la sécurité des macros sur Faible, et n'activez les macros que pour les fichiers auxquels vous faites confiance. Conservez toujours l'original d'un fichier contenant des macros.
