Vous recevez un fichier qui se termine par .xlsm et, à l’ouverture, Excel affiche une barre jaune ou rouge qui parle de macros et de sécurité. Faut-il cliquer pour les activer ou fermer le fichier ? La réponse dépend de l’expéditeur, de l’utilité du fichier et de ce que fait réellement le code qu’il contient.
Vous verrez ici ce qu’est une macro, quels formats peuvent en contenir, pourquoi elles servent si souvent à introduire des logiciels malveillants et quelles étapes suivre pour ouvrir un fichier XLSM sans mettre en danger votre ordinateur ni vos données.
Qu’est-ce qu’une macro et à quoi sert-elle ?
Une macro est un petit programme enregistré dans le classeur qui automatise des tâches répétitives. Dans Excel, elles sont presque toujours écrites en VBA (Visual Basic pour Applications), le langage que vous verrez en ouvrant l’éditeur avec Alt + F11. Quelques usages légitimes et très courants :
- Mettre en forme un rapport en un seul clic.
- Importer les données de plusieurs fichiers et les consolider sur une feuille.
- Générer des factures ou des bons de livraison en PDF à partir d’un modèle.
- Valider des formulaires internes avant leur envoi.
Le problème, c’est que VBA ne se limite pas à la feuille de calcul. Une macro peut créer et supprimer des fichiers, lancer d’autres programmes, se connecter à Internet ou télécharger des exécutables. Cette puissance la rend utile et, en même temps, dangereuse.
Quels formats peuvent contenir des macros ?
L’extension du fichier est le premier indice. Depuis Excel 2007, Microsoft sépare les formats avec et sans macros pour que vous sachiez à quoi vous attendre avant d’ouvrir quoi que ce soit :
| Extension | Type | Peut contenir des macros ? |
|---|---|---|
| .xlsx | Classeur Excel | Non |
| .xlsm | Classeur Excel (prenant en charge les macros) | Oui |
| .xlsb | Classeur Excel binaire | Oui |
| .xls | Classeur Excel 97-2003 | Oui |
| .xltm | Modèle Excel (prenant en charge les macros) | Oui |
| .xlam | Complément Excel | Oui |
| .csv | Texte délimité | Non |
Notez que l’ancien format .xls accepte lui aussi les macros, même si son nom ne l’indique pas. Il existe aussi les macros Excel 4.0 (XLM), un système antérieur à VBA enregistré dans des feuilles spéciales, parfois masquées. Les versions actuelles d’Excel les bloquent par défaut.
Pourquoi les macros sont un risque
Pendant des années, les documents Office avec macros ont été un moyen classique de diffuser des logiciels malveillants par e-mail. Le scénario se répète souvent :
- Vous recevez un e-mail d’apparence normale : une facture, une commande, une fiche de paie ou un avis d’expédition.
- La pièce jointe est un fichier Excel au contenu flou ou vide, avec un message qui vous demande d’activer le contenu pour l’afficher.
- Une fois activée, la macro s’exécute, généralement à l’ouverture du classeur, et télécharge ou lance un autre programme.
Signaux d’alerte à garder en tête :
- Vous n’attendiez pas ce fichier, ou l’expéditeur est inconnu ou utilise une adresse étrange.
- Le document insiste pour que vous activiez les macros ou le contenu afin de pouvoir le lire. Une feuille normale n’en a pas besoin.
- Il s’agit de données simples, comme une liste de prix, mais il arrive en .xlsm ou en .xls.
- La pièce jointe est une archive protégée par mot de passe et l’e-mail vous donne le mot de passe. C’est une technique pour empêcher l’antivirus du serveur de l’analyser.
Comment Excel vous protège par défaut
Mode protégé
Les fichiers téléchargés ou reçus en pièce jointe s’ouvrent en mode protégé : vous pouvez les lire mais pas les modifier, et aucun code ne s’exécute. C’est le moment idéal pour examiner le contenu sans risque.
Macros désactivées avec notification
Si vous quittez le mode protégé, le paramètre habituel désactive les macros et affiche une barre jaune d’avertissement de sécurité avec le bouton Activer le contenu. Tant que vous ne cliquez pas dessus, les macros ne s’exécutent pas.
Blocage des macros provenant d’Internet
Dans Microsoft 365 et les versions récentes, les fichiers marqués comme provenant d’Internet ont leurs macros entièrement bloquées : une barre rouge de risque de sécurité apparaît et l’avertissement ne propose plus de bouton pour les activer. Si le fichier est fiable, vous devez le débloquer explicitement, comme vous le verrez plus loin.
Comment ouvrir un fichier XLSM en toute sécurité
Suivez cet ordre chaque fois que vous recevez un classeur avec macros :
- Vérifiez l’origine par un autre canal. Si un fournisseur vous envoie un .xlsm inattendu, appelez-le ou écrivez-lui séparément avant de l’ouvrir.
- Analysez le fichier avec votre antivirus avant de l’ouvrir.
- Ouvrez-le sans rien activer. Restez en mode protégé ou avec les macros désactivées et vérifiez que le contenu a du sens.
- Examinez le code avec Alt + F11 (voir ci-dessous) pour savoir ce que fait la macro.
- Débloquez-le uniquement si vous lui faites confiance : fermez Excel, faites un clic droit sur le fichier dans l’Explorateur de fichiers Windows, choisissez Propriétés puis, dans l’onglet Général, cochez Débloquer.
- Activez le contenu seulement après toutes ces étapes.
Si vous avez seulement besoin des données, n’activez rien : copiez ce qui vous intéresse ou enregistrez une copie avec Fichier › Enregistrer sous › Classeur Excel (*.xlsx). Excel vous prévient que le projet VBA ne peut pas être enregistré dans un classeur sans macros ; acceptez et vous obtiendrez un fichier propre. Autre option : l’ouvrir dans Excel pour le web, qui n’exécute pas les macros VBA.
Examiner le code sans l’exécuter
Macros désactivées, appuyez sur Alt + F11 et parcourez les modules du volet de projet, y compris ThisWorkbook et chaque feuille. Méfiez-vous si vous trouvez :
- Des procédures qui se lancent seules à l’ouverture, comme
Workbook_OpenouAuto_Open. - Des appels à
Shell,CreateObject,PowerShellouURLDownloadToFile. - De longues chaînes sans signification apparente, signe de code obscurci.
- Un projet VBA protégé par mot de passe dans un fichier qui ne devrait rien avoir à cacher.
Réglez le Centre de gestion de la confidentialité
Les paramètres des macros se trouvent dans Fichier › Options › Centre de gestion de la confidentialité › Paramètres du Centre de gestion de la confidentialité › Paramètres des macros. Quelques recommandations :
- Conservez l’option qui désactive les macros VBA avec notification. C’est l’équilibre raisonnable pour la plupart des utilisateurs.
- Ne choisissez jamais d’activer toutes les macros : n’importe quel fichier pourrait exécuter du code sans vous demander.
- Si vous utilisez vos propres macros au quotidien, placez-les dans un dossier ajouté aux Emplacements approuvés, et n’approuvez pas des dossiers généraux comme Téléchargements.
- En entreprise, les macros signées numériquement par un éditeur approuvé sont le moyen le plus sûr de diffuser des automatisations.
Erreur fréquente : activer les macros d’un fichier parce que la dernière fois tout s’est bien passé. Chaque fichier est différent, même s’il vient du même expéditeur, car son compte de messagerie peut avoir été piraté.
Partagez vos fichiers sans risques inutiles
Quand c’est vous qui envoyez le fichier, épargnez des soucis au destinataire : si les macros ne lui sont pas indispensables, envoyez une copie en .xlsx. Si vous avez d’anciens classeurs en .xls, les convertir avec notre outil pour passer de XLS à XLSX vous donne un format qui ne peut pas exécuter de macros. Et si le fichier contient des données sensibles, vous pouvez lui ajouter un mot de passe d’ouverture gratuitement depuis votre navigateur. Pensez à transmettre ce mot de passe par un autre canal que le fichier et à prévenir le destinataire à l’avance, pour qu’il ne le prenne pas pour une pièce jointe suspecte.
Conclusion
Les macros sont un excellent outil pour automatiser le travail, mais aussi un vecteur d’attaque bien connu. La règle pratique est simple : n’activez pas le contenu d’un fichier que vous n’attendiez pas, méfiez-vous de tout document qui vous le demande pour s’afficher correctement et, si vous n’avez besoin que des données, enregistrez-les en .xlsx. Avec les paramètres par défaut d’Excel et un peu de discernement, ouvrir un XLSM n’est plus un pari.
Questions fréquentes
Un fichier .xlsx peut-il contenir un virus ?
Un .xlsx ne peut pas contenir de macros VBA, ce qui élimine le risque le plus courant. Il peut toutefois inclure des liens vers des sites frauduleux ou exploiter des failles de versions anciennes non mises à jour : gardez Office à jour et ne cliquez pas sur des liens suspects.
Est-il sûr d’activer les macros si le fichier vient d’un collègue ?
Seulement si vous l’attendiez et savez à quoi sert la macro. Les comptes de messagerie piratés servent justement à envoyer des pièces jointes qui semblent venir d’une personne connue. En cas de doute, confirmez par un autre canal.
Pourquoi le bouton Activer le contenu n’apparaît-il pas ?
Parce qu’Excel a bloqué les macros après avoir détecté que le fichier provient d’Internet. Si vous lui faites confiance, débloquez-le depuis Propriétés dans l’Explorateur de fichiers Windows ou enregistrez-le dans un emplacement approuvé.
Comment supprimer les macros d’un fichier XLSM ?
Ouvrez-le sans activer les macros et enregistrez-le en tant que Classeur Excel (*.xlsx). Excel supprime le projet VBA et conserve les données, les formules et la mise en forme.
Essayez nos outils gratuits
Comparez, convertissez, fusionnez et nettoyez vos feuilles de calcul depuis votre navigateur, sans rien installer.