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

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
 

Tibo

XLDnaute Barbatruc
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 ?

@+
 

camarchepas

XLDnaute Barbatruc
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 '--------------------------------------------------------------------------------
 

job75

XLDnaute Barbatruc
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+