Home / Bureautique / Autoriser l’impression qu’à certaines personnes dans un classeur Excel.

Autoriser l’impression qu’à certaines personnes dans un classeur Excel.

Pour économiser du papier ou préserver la confidentialité de certaines données, vous aimeriez que l’impression soit réservée aux personnes disposant d’un mot de passe. Voyons ensemble comment réaliser une macro sous Excel.

Ce tutoriel se déroulera sur la version 2011 de Excel sous l’environnement MAC (la procédure est identique sous Windows).

 

Une fois Excel lancé, aller dans Outils -> Macro -> visual basic Editor. (Sous PC taper Alt + F11) pour ouvrir l’éditeur Visual Basic.

 Dans la fenêtre Projet, double-cliquer sur ThisWorkbook. Une fenêtre d’édition s’ouvre afin de saisir du code.

Dans la fenêtre de code qui s’affiche taper le code suivant :

Private Sub Workbook_beforePrint(Cancel As Boolean)

Secret = "azerty"
Question = InputBox("Mot de passe pour l’impression ?")

If Question <> Secret Then
MsgBox ("Impression Interdite")
Cancel = True
End If
End Sub

Vous pouvez changer le mot de passe de la variable Secret et mettre le votre à la place. 

Puis revenez à Excel et enregistrer votre classeur sous le format XLS et non XLSX.

Lorsqu’un utilisateur cherchera à imprimer le classeur, il recevra un message l’invitant à saisir un mot de passe.

S’il ne tape pas le bon mot de passe, il se verra refuser l’impression.

Noter que cette protection est plutôt rudimentaire et ne rebutera pas un utilisateur chevronné. Mais voici une bonne occasion de découvrir les macros sous Excel et leurs usages.

Pour aller plus loin !!!!
Si vous voulez protéger un peu plus votre code VBA, dans l’éditeur Visual Basic, faites un clic droit sur VBAProject (Classeur1.xls)

Ensuite cliquer sur Propriété de VBAProject.

Ensuite dans l’onglet Protection cocher verrouiller le projet pour l’affichage et saisissez un mot de passe, comme ceci l’utilisateur ne pourra pas désactiver facilement votre macro.

That’s All.

 

  

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

vulputate, id, luctus quis, Aliquam odio tempus elit. velit,