Qu'est-ce que le format de fichier XLSM ?
.xlsm est un document de feuille de calcul couramment utilisé, créé avec Excel 2007 ou une version ultérieure. Les fichiers .xlsm stockent des données dans des cellules organisées en lignes et colonnes. Le format est basé sur la norme Office Open XML et utilise la compression ZIP, ce qui le rend structurellement similaire à un fichier .xlsx.
.xlsm et .xlsx sont des formats de feuille de calcul presque identiques, à la différence clé que .xlsm contient des macros écrites en Visual Basic for Applications (VBA). Une macro est une fonction définie par l'utilisateur qui peut être utilisée pour automatiser des tâches répétitives, manipuler des données ou piloter d'autres applications Office. Les macros sont désactivées par défaut dans Excel pour des raisons de sécurité, car elles sont susceptibles d'être utilisées pour la diffusion de codes malveillants. Pour utiliser des macros, le document de feuille de calcul doit être enregistré en tant que fichier .xlsm ; l'enregistrement en tant que .xlsx supprime silencieusement le projet VBA.
En interne, le projet VBA est stocké sous forme de partie binaire xl/vbaProject.bin à l'intérieur du paquet ZIP. Le fichier [Content_Types].xml du paquet déclare le type de contenu macroEnabled.12, ce qui distingue le .xlsm du .xlsx au niveau du format - les deux partagent les mêmes octets magiques PK. Un format connexe est le .xltm, la variante de modèle Excel prenant en charge les macros, et le .xlsb est l'équivalent binaire qui prend également en charge les macros.
Sécurité et sûreté
RISQUE : HIGHLe XLSM est le membre à haut risque de la famille Excel précisément parce qu'il PEUT exécuter du code : ses macros VBA sont un vecteur classique de logiciels malveillants. Le schéma d'attaque est un .xlsm envoyé par e-mail qui vous pousse à cliquer sur « Activer le contenu/les macros », après quoi le VBA télécharge ou exécute une charge utile. Défenses : Microsoft bloque les macros par défaut dans les fichiers provenant d'Internet (Mark of the Web) et ouvre les fichiers non fiables en mode protégé - laissez ces deux options activées. N'activez les macros que dans les fichiers que vous attendez spécifiquement d'un expéditeur de confiance. Si vous n'avez besoin que des données et non de l'automatisation, ouvrez-le dans Google Sheets / Excel pour le Web (qui n'exécutent pas le VBA) ou enregistrez-le en tant que .xlsx pour supprimer le code. Traitez toute demande non sollicitée d'« activation de macros » comme hostile.
Détails du format
en brefProgrammes qui ouvrent les fichiers XLSM
Détails techniques
spécifications approfondies| Type MIME | application/vnd.ms-excel.sheet.macroEnabled.12 |
| Format de conteneur | Paquet Office Open XML (OPC) basé sur ZIP |
| Octets magiques | 50 4B 03 04 (« PK » - en-tête de fichier local ZIP à l'offset 0 ; identique au niveau des octets au .xlsx, distingué uniquement par le contenu interne |
| Partie du projet VBA | xl/vbaProject.bin - Compound File Binary (CFB) intégré à l'intérieur du paquet ZIP |
| Langage de macro | Visual Basic for Applications (VBA) |
| Identifiant de type de contenu | macroEnabled.12, déclaré dans [Content_Types].xml ; c'est ce qui distingue formellement le .xlsm du .xlsx |
| Sécurité des macros par défaut | Macros bloquées à l'ouverture ; l'exécution nécessite une confirmation de l'utilisateur via une invite ou un emplacement approuvé configuré |
| Signature de code VBA | Le projet VBA peut être signé avec un certificat de signature de code pour établir la confiance de l'éditeur et supprimer les invites |
| Chiffrement | Chiffrement par mot de passe AES-256 via la protection Office Open XML (disponible à partir d'Excel 2013) |
| Taille maximale de la feuille | 1 048 576 lignes × 16 384 colonnes par feuille |
| Équivalent modèle | .xltm - le format de modèle de classeur prenant en charge les macros ; même structure interne, rôle d'extension différent |
| Règle d'extension forcée | Excel refuse d'enregistrer un classeur contenant du VBA en tant que .xlsx ; l'utilisateur est invité à l'enregistrer en tant que .xlsm à la place |
| Limitation Web et mobile | Les macros VBA ne s'exécutent pas dans Excel pour le Web ou Excel sur mobile ; le contenu des macros est préservé mais inactif |
| Prise en charge VBA tierce | LibreOffice Calc ouvre le .xlsm avec une compatibilité VBA partielle ; les macros complexes ou les appels au modèle d'objet Excel peuvent se comporter différemment |
| Publié | 2007 (Excel 2007); the macro-enabled variant of the ECMA-376 / ISO-IEC 29500 format |
| Standard ouvert | Oui · libre de droits |
| Spécification | learn.microsoft.com |
Conversions XLSM
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers XLSM.