Cacher une partie du code VBA ! (pour les plus avertis d'entre vous)

  • Initiateur de la discussion Initiateur de la discussion Tonino7
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tonino7

XLDnaute Occasionnel
Bonjour à tous,

pour les plus tordus d'entre vous... y'a-t-il des possibilités techniques de cacher une partie du code VBA... par mot de passe par exemple.
En gros, je vais devoir fournir le mot de passe VBA à d'autres personnes au boulot... mais je ne souhaiterais pas dévoiler l'intégralité de mon programme sur lequel j'ai planché pendant des mois.

Je suis preneur de toute idée

merci
 
Re : Cacher une partie du code VBA ! (pour les plus avertis d'entre vous)

re,

Merci pour l'info

N'étant pas spécialiste macro, une petite question subsidiaire : une fois le nom caché créé, la macro devient donc inutile ?

@+
 
Re : Cacher une partie du code VBA ! (pour les plus avertis d'entre vous)

Bonsoir à tous ,

Le cryptage est pour le mot de passe pas le code

Exemple pour le codage décodage d'un mot de passe :

aprés l'on peut stocké le mot de passe codé ou l'on veut

il est vrai que l'on peut toujours casser les codes mais bon ....



Function Codage(Info As String, Clef As Integer) As Variant '----------------------------------
Dim Table(10) As String
Dim Copie(10) As String
Dim Indexe As Integer
Dim Position As String
Dim tirage As Integer
Position = "1,2,3,4,5,6,7,8"
For Indexe = 1 To 8
Table(Indexe) = Asc(Mid(Info, Indexe, 1)) * 3 & Chr(48 + Indexe)
Next Indexe
For Indexe = 1 To 8
encore:
tirage = Int(Rnd(Timer / (3.1415 * Clef)) * 8) + 1
If InStr(1, Position, tirage) = 0 Then GoTo encore
Position = Replace(Position, tirage, "")
Copie(Indexe) = Table(tirage)
Next
Codage = Copie
End Function '--------------------------------------------------------------------------------


Function Décodage(Info As Variant, Clef As Integer) As String '-------------------------------
Dim Indexe As Integer
Dim Table(10) As String
Dim Cible As String
Cible = TypeName(Info)
If Cible = "String" Then
If InStr(1, Info, "Fichier") > 0 Then
Cible = Info
GoTo Sort
End If
End If
Cible = ""
For Indexe = 1 To 8
Table(Right(Info(Indexe), 1)) = Chr(Left(Info(Indexe), 3) / 3)
Next
For Indexe = 1 To 8
Cible = Cible & Table(Indexe)
Next
Sort:
Décodage = Cible
End Function '--------------------------------------------------------------------------------
 
Re : Cacher une partie du code VBA ! (pour les plus avertis d'entre vous)

Re,

re,

Merci pour l'info

N'étant pas spécialiste macro, une petite question subsidiaire : une fois le nom caché créé, la macro devient donc inutile ?

@+

Tout à fait, comme je l'ai dit, on la supprime.

Remarque : le nom est bien masqué mais en entrant =mdp dans une cellule on obtient tatata...

C'est donc juste pour ne pas le voir dans le code VBA 🙂

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour