Applies ToExcel pour Microsoft 365 Word pour Microsoft 365 Outlook pour Microsoft 365 PowerPoint pour Microsoft 365 Publisher pour Microsoft 365 Visio Plan 2 Excel 2024 Outlook 2024 PowerPoint 2024 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Éditeur 2021 Visio Professionnel 2021 Visio Standard 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Publisher 2019 Visio Professionnel 2019 Visio Standard 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Publisher 2016 Visio Professionnel 2016 Visio Standard 2016 Visio Professionnel 2013

Cet article explique comment signer numériquement un projet macro sur Windows à l’aide d’un certificat. Si vous n’avez pas encore de certificat numérique, vous devez en obtenir un.

Conseil : Pour utiliser ou tester des projets de macro sur votre propre ordinateur, vous pouvez créer votre propre certificat de signature automatique à l’aide de l’outil Selfcert.exe. Vous trouverez plus d’informations à ce sujet ci-dessous.

Obtenir un certificat numérique

Vous pouvez obtenir un certificat numérique auprès d’une autorité de certification commerciale, de votre administrateur de sécurité interne ou d’un professionnel des technologies de l’information (IT).

Pour en savoir plus sur les autorités de certification qui offrent des services pour les produits Microsoft, consultez la liste des membres du programme de certificat racine Microsoft.

Dans la mesure où les certificats numériques que vous créez ne sont pas émis par une autorité de certification approuvée officielle, les projets macro signés à l’aide de ce type de certificat sont appelés projets auto-signés. Microsoft Office n’approuve les certificats auto-signés que sur les ordinateurs où le certificat d’auto-signature est ajouté au dossier Autorités de certification racines de confiance dans le magasin de certificats de l’utilisateur actuel. Cela le rend utile pour le test ou l’utilisation sur votre propre ordinateur ou un très petit nombre de machines que vous gérez, mais pas très bon pour distribuer des projets de macros à d’autres personnes.

Créer un certificat d’auto-signature

Afficher le certificat dans le magasin de certificats personnels

  1. Ouvrez Microsoft Edge.

  2. Entrez edge://settings/privacy dans la barre d’adresse.

  3. Faites défiler jusqu’à la section Sécurité , puis sélectionnez Gérer les certificats.

Signer numériquement un projet de macro VBA dans Excel, PowerPoint, Publisher, Visio, Outlook ou Word

  1. Ouvrez le fichier qui contient le projet macro à signer.

  2. Sous l’onglet Développeur, dans le groupe Code, cliquez sur Visual Basic.

    Remarque : Si l’onglet Développeur n’est pas disponible : cliquez sur l’onglet Fichier . Cliquez sur Options. Cliquez sur Personnaliser le ruban. Dans la liste Personnaliser le ruban , cliquez sur Développeur, puis sur OK.

  3. Dans Visual Basic, dans le menu Outils, cliquez sur Signature numérique.

  4. La boîte de dialogue Signature numérique s’affiche.

  5. Sélectionnez un certificat et cliquez sur OK.

    Remarque : Si vous n’avez pas sélectionné de certificat numérique ou si vous souhaitez en utiliser un autre, cliquez sur Choisir. Sélectionnez un certificat et cliquez sur OK.

Ajouter un horodatage à votre signature

Lorsque les utilisateurs exécutent votre macro VBA, Office vérifie la signature et le certificat avec lequel elle a été signée. L’ajout d’un horodatage à votre signature signifie que votre macro sera toujours traitée comme signée, même après l’expiration de votre certificat, tant que le certificat n’est pas révoqué. Cela peut réduire les interruptions pour les utilisateurs.

Un certificat qui a simplement expiré peut toujours être utilisé pour valider le code. Il ne peut tout simplement pas être utilisé pour signer un nouveau code.

Pour ajouter un horodatage, vous devez ajouter trois clés à votre registre.

Attention :  La modification incorrecte du registre peut endommager votre système. Avant d’apporter des modifications au registre, nous vous recommandons de sauvegarder toutes les données de valeur sur l’ordinateur.

Touche

Type

Description

HKCU\Software\Microsoft\VBA\Security\TimeStampURL

REG_SZ 

URL de votre serveur d’horodatage préféré. (Obligatoire)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount

REG_DWORD

Nombre de tentatives de connexion de Visual Basic Editor au serveur d’horodatage avant d’échouer. (Facultatif - Si vous ne le définissez pas, Visual Basic Editor ne tentera de contacter le serveur qu’une seule fois)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay  

REG_DWORD

Nombre de secondes (en millisecondes) pendant lesquelles Visual Basic Editor attend entre une nouvelle tentative de connexion au serveur d’horodatage. (Facultatif : si vous ne le définissez pas, il n’y aura aucun délai entre les nouvelles tentatives)

Une fois que vous avez ajouté une entrée TimeStampURL opérationnelle, Visual Basic Editor ajoute automatiquement un horodatage chaque fois que vous signez numériquement une macro.

Notes supplémentaires

  • Il est recommandé de signer les macros uniquement une fois que votre solution a été testée et prête à être distribuée : lorsque le code d’un projet de macro signé est modifié d’une manière ou d’une autre, sa signature numérique est supprimée. Toutefois, si vous disposez sur votre ordinateur du certificat numérique valide précédemment utilisé pour signer le projet, une nouvelle signature du projet macro interviendra automatiquement lors de l’enregistrement.

  • Une façon d’empêcher les utilisateurs de modifier accidentellement votre projet de macro et d’invalider votre signature consiste à verrouiller le projet de macro avant d’appliquer la signature. Votre signature numérique garantit que le projet n’a pas été falsifié depuis que vous l’avez signé, mais elle ne prouve pas que vous avez écrit le projet. Même si vous avez verrouillé votre projet de macro, un autre utilisateur peut toujours remplacer votre signature par une autre signature. Les administrateurs d’entreprise peuvent également re-signer des modèles et des compléments pour s’assurer que seul le contenu approuvé est exécuté sur les ordinateurs de l’entreprise.

  • Si vous créez un complément qui ajoute du code à un projet macro, votre code doit déterminer si le projet est signé numériquement et indiquer aux utilisateurs les conséquences de la modification d’un projet signé avant de continuer.

  • Les utilisateurs qui utilisent des certificats commerciaux peuvent rencontrer des blocs en raison de la limitation des algorithmes de hachage pris en charge lors de la signature. Vous pouvez ajouter une clé-valeur de Registre DWORD V1HashEnhanced pour choisir un autre algorithme de hachage, sous HKCU\SOFTWARE\Microsoft\VBA\Security avec des règles d’algorithme de valeur (1 à SHA1, 2 à SHA256, 3 à SHA384, 4 à SHA512 et d’autres à MD5). Ce paramètre est disponible dans les dernières versions du canal CC.

En savoir plus

Activer ou désactiver les macros dans les fichiers Microsoft 365

Remarque : Cet article a été créé par une personne avec l’aide d’une intelligence artificielle (IA).

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.