AVEC CRYPTO MACRO, PROTÉGEZ EFFICACEMENT VOS MACROS VBA SUR EXCEL

Présentation Vidéo

 

1. En quoi consiste Crypto Macro

Comment protéger efficacement vos macros VBA sur Excel ?!

il s'agit ici de l'une des questions qui revient souvent lorsque l’on souhaite partager des fichiers Excel à des clients, des partenaires, ou même encore à des collègues de travail.

Le but bien entendu est alors d’éviter de se faire tout simplement voler son travail, surtout lorsque celui-ci a nécessité de nombreuses heures d’élaboration.

Le problème principal des applications VBA c’est que le code source est directement lisible et compréhensible depuis l’éditeur VBE, sans aucune compilation…

Evidemment, Excel permet de mettre en place un mot de passe pour empêcher l’accès au code VBA !

Mais est-ce que cette protection est vraiment efficace ?

Bien sûr que non…

Quelques secondes suffiront à un utilisateur averti pour mettre à mal cette soi-disant protection

Vous l’aurez compris à la lecture du titre de ce texte, la solution que je vous propose aujourd’hui porte le nom de Crypto Macro.

Il s’agit d’une application Excel qui va vous permettre d’obfusquer tout le code VBA inséré dans vos fichiers, de manière totalement automatisée.

Obfusquer du code signifie rendre incompréhensible ce code, en remplaçant les termes issus du langage naturel par d’autres termes qui le seront beaucoup moins !

Mais bien entendu, le fait de rendre ce code illisible pour l’utilisateur indiscret ne doit pas pour autant empêcher celui-ci d’être normalement interprété par Excel !

Voici un exemple de code VBA

' Sommer les valeurs contenues dans une plage de cellules
Function sommer(plageCellules As Range) As Integer

    ' Déclaration des variables
    '   - la variable cellule permet de passer en revue toutes les cellules contenues dans la plage des cellules passée en argument
    '   - la valriable montantTotal permet de calculer la somme des cellules déjà passées en revue
    Dim cellule As Range, montantTotal As Integer
    
    ' Boucler sur toutes les cellules de la plage passée en argument
    For Each cellule In plageCellules
        ' Et enfin, calculer le montant total des cellules
        montantTotal = montantTotal + cellule
    Next
    
    ' Retourner le montant calculé comme résultat de la fonction
    sommer = montantTotal
    
End Function

' Utiliser la fonction "sommer" pour calculer la somme des valeurs contenues dans la sélection
Sub sommerSelection()
    MsgBox "La somme des cellules sélectionnée est de : " & sommer(Selection)
End Sub

 

De nombreux éléments sont insérés dans ces lignes de code pour faciliter la compréhension des lignes :

  • Les noms de procédures sont explicites,
  • De même pour les noms de variables,
  • De nombreuses lignes de commentaires jalonnent le lignes de code pour expliquer toutes les actions exécutées

Et voici le même code une fois obfusqué à l’aide de Crypto Macro :

Function efrXT9Xqg3fIwegG5eix7S6YYg2kp7Fg8t48gQNynZn(ef3BOH4f9XlVs1EP6n99vpUCw08DzrxsASmh As Range) As Integer
Dim effxCnknIQ1o6OIT1A1WEWpbQi3XIVmdbI1Tg2bI5gEX As Range, ef7lGTd42488tVIEhWW5Y5F8pRk5dFv46fUN9mu2k4 As Integer
For Each effxCnknIQ1o6OIT1A1WEWpbQi3XIVmdbI1Tg2bI5gEX In ef3BOH4f9XlVs1EP6n99vpUCw08DzrxsASmh
ef7lGTd42488tVIEhWW5Y5F8pRk5dFv46fUN9mu2k4 = ef7lGTd42488tVIEhWW5Y5F8pRk5dFv46fUN9mu2k4 + effxCnknIQ1o6OIT1A1WEWpbQi3XIVmdbI1Tg2bI5gEX
Next
efrXT9Xqg3fIwegG5eix7S6YYg2kp7Fg8t48gQNynZn = ef7lGTd42488tVIEhWW5Y5F8pRk5dFv46fUN9mu2k4
End Function
Sub efCYKF5uLTKrDZD7m3rMCPRCxXwwxQ6l9ORhuS()
MsgBox "La somme des cellules sélectionnée est de : " & efrXT9Xqg3fIwegG5eix7S6YYg2kp7Fg8t48gQNynZn(Selection)
End Sub

 

Vous constaterez alors que le code en question devient tout de suite incompréhensible !

En seulement deux clics de souris, Crypto Macro va permettre de :

  • Supprimer l’indentation,
  • Supprimer les sauts de lignes,
  • Supprimer les commentaires,
  • Crypter les noms de variables,
  • Crypter les noms des procédures et de fonction, ainsi que les arguments qui se trouvent dans chacune de ces procédures et fonctions,
  • Crypter les noms des modules

Et tout cela de manière très simple et totalement automatique.

 

COMMANDER CRYPTO MACRO :

Crypto Macro
STANDARD
Crypto Macro
DEVELOPPEUR

Permet l’obfuscation totale du code : 

 

  • Supprimer les sauts de lignes, 
  • Supprimer les commentaires, 
  • Crypter les noms de variables, 
  • Crypter les noms de procédures, ainsi que les argument, 
  • Crypter les noms de modules

Permet l’obfuscation totale du code : 

 

  • Supprimer les sauts de lignes, 
  • Supprimer les commentaires, 
  • Crypter les noms de variables, 
  • Crypter les noms de procédures, ainsi que les argument, 
  • Crypter les noms de modules

 

  + Accès au code VBA non crypté et totalement commenté !

Prix : 47€ Prix : 87€

 

2. Comment fonctionne Crypto Macro

Le fonctionnement de Crypto Macro est très simple !

Lorsque vous aurez récupéré votre version du logiciel (en suivant le bon de commande), il suffira ensuite d’installer celui-ci sur votre disque dur.

Ensuite, commencez par lancer le fichier Excel dans lequel se trouve les macros VBA à protéger.

Cela étant fait, vous pouvez lancer également lancer le fichier Crypto Macro.

Vous arriverez alors sur la page d’accueil.

Excel formation - Présentation CryptoMacro - 03

A ce moment-là, il suffit de cliquer sur le bouton « Cliquer ici pour lancer Crypto Macro » afin de lancer l’application.

Excel formation - Présentation CryptoMacro - 04

Ensuite, il suffit de choisir le fichier à convertir depuis le menu « Choisir un fichier ».

Excel formation - Présentation CryptoMacro - 05

Et enfin de cliquer sur le bouton « Lancer le cryptage des macros ».

Excel formation - Présentation CryptoMacro - 06

L’application va alors lancer le processus d’obfuscation.

Ce processus peut demander jusqu’à plusieurs minutes de traitement en fonction des caractéristiques de la machine sur laquelle l’application est exécutée, et en fonction également du fichier d’origine à retraiter.

Une notification nous informera lorsque ce dernier sera exécuté en totalité.

Excel formation - Présentation CryptoMacro - 07

Un nouveau fichier Excel avec les macros obfusquées est maintenant généré, dans le même dossier que le fichier d’origine.

En effet, Crypto Macro ne modifie jamais le fichier d’origine, mais travail sur une nouvelle version de celui-ci afin d’éviter toute perte de données ou de cryptage accidentel.

Vous pouvez ensuite ouvrir ce nouveau fichier encodé pour visionner le résultat.

Excel formation - Présentation CryptoMacro - 08

 

COMMANDER CRYPTO MACRO :

Crypto Macro
STANDARD
Crypto Macro
DEVELOPPEUR

Permet l’obfuscation totale du code : 

 

  • Supprimer les sauts de lignes, 
  • Supprimer les commentaires, 
  • Crypter les noms de variables, 
  • Crypter les noms de procédures, ainsi que les argument, 
  • Crypter les noms de modules

Permet l’obfuscation totale du code : 

 

  • Supprimer les sauts de lignes, 
  • Supprimer les commentaires, 
  • Crypter les noms de variables, 
  • Crypter les noms de procédures, ainsi que les argument, 
  • Crypter les noms de modules

 

  + Accès au code VBA non crypté et totalement commenté !

Prix : 47€ Prix : 87€

 

 

3. Liste des options

Dans la partie précédente, nous avons vu comment rendre illisible le code qui se trouve dans un classeur Excel en quelques secondes seulement grâce à Crypto Macro.

Voyons maintenant comme personnaliser la méthode d’obfuscation.

Pour afficher les options de l’application, cliquez simplement sur le bouton « Options >> »

Excel formation - Présentation CryptoMacro - 09

Voici les options disponibles :

  • Supprimer les sauts de lignes : choisir de supprimer ou de conserver les sauts de lignes dans les macros. Cocher l’option pour les supprimer.
  • Supprimer les commentaires : choisir de supprimer ou de conserver les commentaires dans les macros. Cocher l’option pour les supprimer.
  • Crypter les noms de variables : choisir de crypter ou de conserver à l’identique les noms de variables dans les macros. Cocher l’option pour les crypter.
  • Crypter les noms de procédures, ainsi que les arguments : choisir de crypter ou de conserver à l’identique les noms des procédures et fonctions (ainsi que les noms des arguments de ces derniers). Cocher l’option pour les crypter.
  • Crypter les noms de modules : choisir de crypter ou de conserver à l’identique les noms des modules standards et modules de classes (les UserForms ne sont pas cryptables). Cocher l’option pour les crypter.
  • Enregistrer le classeur source avant le cryptage : Crypto Macro travail sur une copie du fichier d’origine afin de ne pas modifier l’exhaustivité. Cocher cette case permet d’enregistrer le fichier d’origine avant de lancer la procédure d’obfuscation ce qui permet de travailler sur une version à jour du fichier.
  • Suffixe : le fichier obfusqué est une copie du fichier d’origine, nous venons de le voir juste au-dessus. Nous pouvons personnaliser le suffixe par défaut à insérer dans le nom du nouveau fichier.

Excel formation - Présentation CryptoMacro - 10

 

Pour finir, le bouton « Remise à zéro » permet de réinitialiser les réglages par défaut de l’application, tels qu’ils étaient au moment du téléchargement.

 

COMMANDER CRYPTO MACRO :

Crypto Macro
STANDARD
Crypto Macro
DEVELOPPEUR

Permet l’obfuscation totale du code : 

 

  • Supprimer les sauts de lignes, 
  • Supprimer les commentaires, 
  • Crypter les noms de variables, 
  • Crypter les noms de procédures, ainsi que les argument, 
  • Crypter les noms de modules

Permet l’obfuscation totale du code : 

 

  • Supprimer les sauts de lignes, 
  • Supprimer les commentaires, 
  • Crypter les noms de variables, 
  • Crypter les noms de procédures, ainsi que les argument, 
  • Crypter les noms de modules

 

  + Accès au code VBA non crypté et totalement commenté !

Prix : 47€ Prix : 87€

 

 

4. Astuces d’utilisation

 

   4.1. Déclaration des variables

 

Pour identifier les variables à obfusquer, il convient de déclarer celles-ci en utilisant le mot-clé Dim.

Excel formation - Présentation CryptoMacro - 11

En revanche le typage de la variable n’est pas obligatoire.

 

   4.2. Choix des modules à obfusquer ou non

 

Il est possible de sélectionner les modules et les formulaires pour lesquels nous souhaitons ne pas réaliser d’obfuscation.

Cela peut être utile par exemple dans les cas suivants :

  • Existence de fonctions personnalisées : l’obfuscation aura pour effet de modifier le nom de celle-ci au point de rendre leur appel impossible,
  • Lorsque des boutons permettent de lancer une macro, cela permet de ne pas rompre le lien,

Pour ne pas obfusquer une page de code (module ou formulaire), il suffit d’utiliser la commande suivante « ' crypto macro : non » (en commentaire) :

 

Excel formation - Présentation CryptoMacro - 12

Cette ligne peut être insérée en début ou en fin de page de code.

 

   4.3. Attention aux noms des variables

 

Lorsque l’on nomme une variable il faut faire attention que le terme n’apparaisse pas une chaîne de caractère, sous peine de modifier également le terme correspondant.

L’astuce consiste donc à utiliser des noms de variables uniques.

Dans l’exemple suivant :

Dim fichier as String

MsgBox "Ouvrir le fichier"

L’offuscation modifierait alors le code de la manière suivante :

Dim efgHqXRL01Q2SQQEOkA4er4IJr3swKxvV3sWM1 as String

MsgBox "Ouvrir le efgHqXRL01Q2SQQEOkA4er4IJr3swKxvV3sWM1"

Il conviendrait donc plutôt de nommer la variable nomFichier :

Dim nomFichier as String

MsgBox "Ouvrir le efgHqXRL01Q2SQQEOkA4er4IJr3swKxvV3sWM1"

 

 

   4.4. Activation de l'accès au modèle d'objet de VBA

 

Pour fonctionner correctement, Crypto Macro nécessite un accès au modèle d'objet de VBA.

Pour cela, rendez vous dans le menu Fichier > Options > Centre de gestion de la confidentialité, puis cliquez sur le bouton Paramètres du Centre de la Confidentialité :

Excel formation - Présentation CryptoMacro - 12

Puis dans la catégorie Paramètres des macros, cochez simplement l'option : Accès approuvé au modèle d'objet du projet VBA :

Excel formation - Présentation CryptoMacro - 12

 

5. Acquérir Crypto Macro

Crypto Macro est d’ores et déjà disponible au téléchargement en suivant le lien que vous trouverez dans la description de la vidéo.

Cela vous permettra d’arriver sur le bon de commande de l’application.

L’application est disponible en deux versions :

  • La version STANDARD : permet l’obfuscation totale du code : 
    • Supprimer les sauts de lignes, 
    • Supprimer les commentaires, 
    • Crypter les noms de variables, 
    • Crypter les noms de procédures, ainsi que les argument, 
    • Crypter les noms de modules
  • La version DEVELOPPEUR : même application que la version STANDARD, avec en plus un accès total au code VBA complétement commenté !

Ces deux versions sont disponibles à un prix exceptionnel de lancement jusqu’à dimanche soir minuit !

Passée cette date, le prix de Crypto Macro va augmenter pour être vendu au prix normal.

 

COMMANDER CRYPTO MACRO :

Crypto Macro
STANDARD
Crypto Macro
DEVELOPPEUR

Permet l’obfuscation totale du code : 

 

  • Supprimer les sauts de lignes, 
  • Supprimer les commentaires, 
  • Crypter les noms de variables, 
  • Crypter les noms de procédures, ainsi que les argument, 
  • Crypter les noms de modules

Permet l’obfuscation totale du code : 

 

  • Supprimer les sauts de lignes, 
  • Supprimer les commentaires, 
  • Crypter les noms de variables, 
  • Crypter les noms de procédures, ainsi que les argument, 
  • Crypter les noms de modules

 

  + Accès au code VBA non crypté et totalement commenté !

Prix : 47€ Prix : 87€

 



Articles qui pourraient vous intéresser

AVEC CRYPTO MACRO, PROTÉGEZ EFFICACEMENT VOS MACROS VBA SUR EXCEL

Formation VBA d'Excel complète

Formation Excel débutants

À propos de ce blog

Commentaires

dhardy commented

Bonjour, Je fais depuis longtemps du VBA Excel. Je trouve cela chère pour un point 4.3 qui ne fonctionne pas avec ton programme. Il existe de programme VBA Excel qui existe depuis longtemps sur le net, ne coûte pas un franc et apparemment qui fonctionne mieux. Bien à toi

Lyesse commented

Je viens de faire l'acquisition de votre fichier CryptoMacro développeur. Je viens de la tester sur un de mes fichier que j'ai créé de A à Z, la 1ère macro à l'ouverture doit mettre le document en plein écran, elle ne fonctionne pas, la 2nd, je dois cliquer sur une image liée à une macro pour lancer un formulaire pour se loger, celle-ci ne fonctionne pas non plus, que dois-je faire à votre avis ?

Alain commented

Salut Lyesse, J'ai le fichier et il fonctionne bien. Si tu veux je peux t'aider : alainfraipont64@gmail.com A+

Excelformation.fr commented

Lyesse, je suis à votre disposition pour régler votre problème par email. Merci beaucoup Alain pour votre retour et pour la proposition d'aide ! A bientôt :)

Poster un commentaire

Pseudo
Commentaire

Contact - Plan du site - À propos - Contact

© Excel-Formation 2018 - 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.