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 remplir automatiquement des cellules d'un tableau Excel avec la complétion automatique
Comment regrouper (ou pas !) les dates d’un tableau croisé dynamique (TCD) sur Excel ?
Comment connecter Excel sur Internet, sans VBA ?
Comment traduire automatiquement des fonctions Excel dans leur version originale ?
Comment analyser les résultats d’un sondage ou questionnaire avec Excel ?
Comment utiliser la fonction SOMME.SI pour effectuer des recherches sur des textes sur Excel ?
Comment calculer et étudier des écarts budgétaires avec Excel ?
Comment verrouiller et protéger un objet (graphique, image, zone de texte…) sur Excel ?
Comment formater des dates correctement dans Excel ?
Comment protéger le formatage des cellules tout en autorisant la saisie de données dans Excel ?
Comment transformer une photo en tableau Excel ?
Comment créer un publipostage automatique avec Excel ? (sans Word !)

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.