Comment certifier gratuitement une macro VBA sur Excel ?

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Aujourd’hui, nous allons aborder la question de la sécurité des macro-commandes dans Excel. Nous allons en effet voire comment approuver un classeur contenant une ou plusieurs macro-commandes VBA pour pouvoir l’utiliser facilement, sans avoir à activer les macros. Pour cela, nous découvrirons le concept de certificat d'auto-authentification.

 

Tutoriel Vidéo

 

 

1. Présentation

Pour illustrer ce tutoriel, nous allons utiliser un fichier Excel, contenant deux macros très simple :

  • Une première macro est chargée de se lancer au démarrage pour afficher un message à l’utilisateur,
  • Une seconde macro, qui se lance lors d’un clic sur un bouton doit afficher l’heure à l’utilisateur

Lors de l’ouverture de ce fichier, nous pouvons constater que par défaut, Excel désactive tout accès aux macro-commandes VBA.

Un bandeau de couleur jaune nous invitera en effet à activer les macros pour pouvoir les utiliser :

Excel formation - comment signer une macro vba - 01

Sans cette validation, il sera tout simplement impossible de l’utiliser les macros de ce classeur.

Bien entendu, il est possible de baisser le niveau de sécurité exigé par Excel, ce qui aura pour effet de ne plus jamais afficher ce bandeau.

Pour cela, nous nous rendons dans le menu Fichier > Options Centre de gestion de la confidentialité > Paramètres du centre de gestion de la confidentialité > Paramètre des macros, puis de choisir Activer toutes les macros (non recommandé ; risque d’exécution de code potentiellement dangereux) :

Excel formation - comment signer une macro vba - 02

De cette manière, nous pourrons lancer des classeurs contenant des macros, sans que l’avertissement que nous venons de voir ne soit affiché dans le futur.

Mais cela peut présenter un risque important en termes de sécurité !

En effet, il est très simple d’injecté une macro à l’intérieur d’un classeur qui pourrait causer des dégâts importants sur le poste de travail sur lequel se trouve le classeur.

Lorsque nous baissons le niveau de sécurité à son niveau le plus bas, il faut donc faire attention de n’ouvrir que des classeurs dont la provenance connue et sûre.

Heureusement il existe une autre solution qui permettra de pouvoir se passer de cette validation pour les classeurs dont nous sommes certains de l’origine, en utilisant pour cela ce que l’on appelle un certificat.

 

2. Créer un certificat

Pour pouvoir créer un certificat qui permettra d'authentifier la provenance du classeur contenant une macro commande nous allons devoir utiliser un outil.

Cet outil porte le nom de SELFCERT.EXE et se trouve déjà préinstallé sur la plupart des postes de travail contenant Office.

L’emplacement dans lequel vous trouverez cet outil dépend de la version d’office utiliser sur le poste de travail, ainsi que de la version du système d’exploitation.

Pour Excel 2016 sous Windows 10, celui-ci se trouve dans le répertoire suivant : « C:\Program Files (x86)\Microsoft Office\root\Office16 »

Excel formation - comment signer une macro vba - 03

Nous pouvons alors lancer l’application en double-cliquant sur celle-ci :

Excel formation - comment signer une macro vba - 04

L’application nous demande alors quel nom nous souhaitons donner au certificat, par exemple « Macro VBA » :

Excel formation - comment signer une macro vba - 05

Ensuite, nous validons la création du certificat en appuyant sur le bouton [OK].

Excel formation - comment signer une macro vba - 06

Un message nous informe ensuite de la bonne création du certificat.

 

3. Utiliser le certificat

Une fois le certificat correctement généré, nous allons pouvoir l’intégrer dans le projet VBA.

Pour cela, nous revenons à l’intérieur de celui-ci, puis nous nous rendons dans le menu Outils > Signature électronique…

Excel formation - comment signer une macro vba - 07

Dans la fenêtre qui s’affiche à l’écran nous pouvons constater qu’aucun certificat n’est rattaché au projet « [Aucun certificat] » :

Excel formation - comment signer une macro vba - 08

Pour lier le certificat, nous pouvons cliquer sur le bouton [Choisir] pour sélectionner le certificat

Excel retrouve alors le certificat, il suffit ensuite de cliquer sur le bouton [OK] pour l’intégrer dans le projet :

Excel formation - comment signer une macro vba - 09

Il ne reste plus qu’à adapter le niveau de sécurité d’Excel en revenant dans le menu Fichier > Options Centre de gestion de la confidentialité > Paramètres du centre de gestion de la confidentialité > Paramètre des macros, puis de choisir Désactiver toutes les macros à l’exception des macros signées numériquement :

Excel formation - comment signer une macro vba - 10

Maintenant nous pouvons redémarrer Excel et le classeur signé.

Excel nous affiche encore une fois le message d’activation des macros, il suffit d’approuver pour ne plus le faire disparaître lors des futurs lancements.

 

4. Partage des fichiers signés

Le certificat que nous venons de mettre en place permettra ainsi de lancer les fichiers avec des macro-commandes en toute sécurité sur le poste de travail sur lequel il a été généré.

Lorsque nous transmettons un classeur contenant un certificat sur un autre poste de travail, il sera possible d’installer automatiquement le certificat en consultant ces propriétés.

Cela permettra ainsi de pouvoir utiliser le fichier sur plusieurs postes de travail.

En revanche, si le fichier venait à être modifié sur un poste de travail ne disposant pas du certificat, cela aurait pour conséquence de supprimer la signature du fichier.

 

 



Articles qui pourraient vous intéresser

Comment entourer automatiquement cellules non conformes Excel sans MF conditionnelle ni formule ?
Comment créer un tableau de bord commercial intelligent avec Excel ?
Comment créer un graphique dessiné à la main avec Excel ?
Comment créer un graphique de distribution en 5 minutes chrono ?
L’astuce Excel pour imprimer le tableau que vous voulez en un clic !
Comment gérer ses comptes sur Excel avec le « Suivi du budget familial »
Comment créer facilement des QR codes sans VBA avec Excel ?
Transformez vos données en graphique tornade interactif facilement sur Excel !
Comment créer un graphique Iceberg dans Excel ?
Comment créer un graphique dynamique en quelques minutes sur Excel sans VBA ni TCD ?
Comment créer des feux de signalisation tricolores dynamiques dans Excel sans VBA ?
Comment créer un graphique englobant 2 en 1 sur Excel ?

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2024 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.