Comment signer numériquement des macros Excel

Découvrez comment signer numériquement vos macros Excel pour les rendre fiables et sécurisées, éliminant ainsi les avertissements de sécurité et renforçant la confiance des utilisateurs.
Si vous avez déjà créé un rapport automatisé Excel ou un outil de saisie de données utilisant VBA, vous avez peut-être aperçu la barre de sécurité jaune agaçante qui indique que vos macros sont désactivées. De nombreux utilisateurs peuvent choisir de ne pas ouvrir votre fichier en raison de cet avertissement. Signer numériquement vos macros peut aider à résoudre ce problème. Cela indique à Excel : « Ce code provient d'un créateur de confiance. » Dans ce guide, nous allons voir comment signer numériquement des macros Excel.
Comment signer numériquement des macros Excel
Lorsque vous signez numériquement une macro Excel, vous ajoutez une signature unique et cryptée à votre projet VBA. Cette signature agit comme un sceau inviolable sur une bouteille de médicament ; elle montre que personne n'a modifié le code depuis votre dernière édition. La signature utilise un certificat de signature de code, qui est une identification numérique que les ordinateurs vérifient par rapport à une liste d'autorités de confiance. Sans une signature valide, Excel considère chaque macro comme potentiellement dangereuse. Cependant, avec une signature, vos macros sont considérées comme fiables et sûres.
Pour signer numériquement des macros Excel, suivez les étapes ci-dessous.
Lorsqu'un certificat de signature de code est stocké sur un jeton matériel USB, le processus de signature se fait directement dans l'éditeur Visual Basic d'Excel. Les étapes ci-dessous supposent que le jeton est déjà inséré et que son certificat a été chargé dans Windows. Suivez-les attentivement pour appliquer une signature durable à votre projet VBA.
- Ouvrez le classeur Excel qui contient la macro VBA que vous souhaitez signer. Assurez-vous que le fichier est enregistré avec une extension compatible avec les macros (.xlsm ou .xlsb) avant de continuer.
- Insérez votre jeton matériel USB sécurisé dans un port USB disponible de votre ordinateur. Ce jeton stocke la clé privée de votre certificat de signature de code. Laissez-le connecté tout au long du processus de signature.
- Avant d’ouvrir l’éditeur Visual Basic, vérifiez que le certificat de votre jeton USB est reconnu par Windows. Ouvrez les Options Internet (recherchez « Options Internet » dans Windows, ou ouvrez Internet Explorer et allez dans Outils > Options Internet). Cliquez sur l'onglet Contenu, puis sur le bouton Certificats.
- Sous l'onglet Personnel, votre certificat de signature de code devrait apparaître. S'il est manquant, utilisez le logiciel fourni par votre Autorité de Certification (AC) pour charger le certificat du jeton dans Windows. Ce n'est qu'après cette étape qu'Excel pourra voir le certificat.
- Dans Excel, cliquez sur l'onglet Développeur dans le ruban. Dans la section Code, cliquez sur l'icône Visual Basic. Alternativement, l'éditeur peut être ouvert en appuyant sur Alt + F11. Si l'onglet Développeur n'est pas visible, faites un clic droit n'importe où sur le ruban, sélectionnez Personnaliser le ruban, cochez la case Développeur dans le panneau de droite et cliquez sur OK.
- Commencez le processus de signature numérique à l'intérieur de l'éditeur Visual Basic. Dans la barre de menu en haut, cliquez sur Outils, puis sélectionnez Signature numérique dans le menu déroulant. Une petite boîte de dialogue apparaîtra, indiquant que le projet n'est actuellement pas signé.
- Choisissez votre certificat de signature de code. Dans la boîte de dialogue Signature numérique, cliquez sur le bouton Choisir…. Une nouvelle fenêtre intitulée Sélectionner le certificat s'ouvrira, listant tous les certificats numériques disponibles sur votre ordinateur ; y compris celui qui correspond à la clé privée stockée sur votre jeton USB. Sélectionnez le certificat correct dans la liste et cliquez sur OK.
- La boîte de dialogue Signature numérique affichera désormais le nom du certificat que vous venez de sélectionner. Cliquez à nouveau sur OK pour attacher la signature numérique à votre projet VBA.
- Fermez l'éditeur Visual Basic et revenez à Excel. Enregistrez immédiatement le fichier en appuyant sur Ctrl + S ou en allant dans Fichier > Enregistrer. Lorsque l'opération d'enregistrement est effectuée, un prompt de mot de passe peut apparaître ; entrez le mot de passe pour votre certificat de signature de code (le mot de passe associé à votre jeton USB ou fichier .PFX). Après avoir entré le mot de passe, l'enregistrement se termine et la signature est intégrée.
- Aucun message de confirmation officiel n'est affiché par Excel après une signature réussie. Pour confirmer, fermez complètement le classeur, ouvrez-le à nouveau, et vérifiez qu'aucune barre d'avertissement de sécurité jaune n'apparaît (ou que l'avertissement indique que votre nom d'éditeur est de confiance). Vous pouvez également rouvrir l'éditeur Visual Basic, retourner à Outils > Signature numérique, et voir que votre certificat est maintenant listé comme la signature active.
- Ajoutez une timestamp pour préserver la validité de la signature après l'expiration du certificat.
- Ouvrez l'Invite de commandes (Admin).
- Ouvrez Windows Terminal (Admin).
- Accédez au dossier SignTool (par exemple,
C:\Program Files (x86)\Windows Kits\10\bin\10.0.xxxxx.0\x86). - Exécutez : signtool sign /tr http://timestamp.url /td SHA256 /fd SHA256 /a "chemin\vers\votrefichier.exe"
Une URL de serveur de timestamp fiable (comme http://timestamp.digicert.com ou http://timestamp.comodoca.com/authenticode) doit être utilisée. Après avoir exécuté la commande, un message de confirmation apparaîtra si le timestamp a été ajouté avec succès.
Comment signer numériquement une macro dans Excel ?
Ouvrez votre classeur activé pour les macros et appuyez sur Alt + F11 pour lancer l'éditeur Visual Basic. Dans le menu du haut, cliquez sur Outils → Signature numérique, puis appuyez sur Choisir pour sélectionner votre certificat de signature de code (soit auto-créé via SelfCert.exe ou un commercial stocké sur un jeton USB). Cliquez sur OK deux fois, fermez l'éditeur et enregistrez immédiatement le classeur. La signature est maintenant attachée à votre projet VBA, et toute modification future du code la rompra.
Comment signer numériquement dans Excel ?
La signature numérique dans Excel fait généralement référence à la signature de l'ensemble du classeur (pas seulement des macros) en utilisant une ligne de signature visible ou une signature invisible. Insérez une ligne de signature via Insérer > Texte > Ligne de signature, puis remplissez-la. Pour une signature numérique invisible (preuve d’authenticité sans ligne visible), allez à Fichier > Informations > Protéger le classeur > Ajouter une signature numérique. Les deux méthodes nécessitent un certificat numérique valide et confirment que le classeur n'a pas été modifié après la signature.
Maintenant que tu as fini de lire Comment signer numériquement des macros Excel, nous t'invitons à explorer davantage la catégorie Sécurité. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!
