IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Verrouillage de l'utilisation d'une macro [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de pio_killer
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 194
    Par défaut Verrouillage de l'utilisation d'une macro
    Bonjour,

    j'ai développé une macro sur excel pour le boulot.
    Je voudrais la rendre accesssible que à certaines personnes (pour des droit de copyright et de sécurisation des données)

    La macro vba est liée à des fichier textes qui contiennes des données.
    Le projet vba est protégé en lecture par un mot de passe.

    Tout ceci se trouve dans un dossier sur un reseau intranet du boulot.

    J'avais pensée au début donner les droit d'accès au répertoire qu'au personnes voulues. Mais c'est trop lourd à gérer (dans le cas où il y a des nouvelle personnes à déclarer).

    Ensuite j'ai pensé à faire un fichier texte dans lequel je mettrais la liste des personnes. Cette serait cryptée à l'aide d'un algorythme vba. Si le logon de la personne n'est pas dans cette liste, la macro ne se lancera pas. Mais je me dis qu'il suffira de supprimer le controle du logon pour l'utiliser (compte tenu qu'il est assez simple de cracker un projet vba).


    Voilà où j'en suis.

    Est-ce que quelqu'un a déjà été confronté à ce problème et est-ce que quelqu'un a une solution à me proposer.

    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Developpeur
    Inscrit en
    Novembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 196
    Par défaut sdispro
    Salut,

    a ta place je créerai un userform avec mot de passe qui héberge ton fichier.
    si l'utlisateur rentre le bon mot de passe il a accès au fichier sinon non.
    Sinon tout autre choses, passe par le e logiciel gratuitt protect me!.

    a+

  3. #3
    Membre confirmé Avatar de pio_killer
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 194
    Par défaut
    Salut,

    merci pour ta réponse.

    Ce que tu décris est déjà fait mais on a pas mal de turn over dans nos équipes et pour des raison de copyright, on ne veut pas que cette macro soit utilisée par d'autre personne. Par exemple, une personne qui connait bien la macro et qui est partie chez un concurrent

    Est-il possible de générer en vba un fichier DLL qui sera unique pour chaque persone. Ce fichier contiendra les données concernant l'utilisateur autorisé (Logon + Nom du PC)

    C'est possible ça ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Developpeur
    Inscrit en
    Novembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 196
    Par défaut sdispro
    Re,

    Oui, tu peux doner l'accès en fonction du nom utilisateur windows.
    C'est totalemebnt personnel et tu bloque tout accès au fichier.
    de plus tu peu bloquer un userform afin qu'il soit totalemebnt impossible d'accéder au code VBA.

  5. #5
    Membre confirmé Avatar de pio_killer
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 194
    Par défaut
    de plus tu peu bloquer un userform afin qu'il soit totalemebnt impossible d'accéder au code VBA
    Ce que tu dis là m’intéresse

    Tu m'expliquer comment tu ferais car à part mettre un mot de passe au projet, je ne vois comment faire

  6. #6
    Membre confirmé
    Homme Profil pro
    Developpeur
    Inscrit en
    Novembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 196
    Par défaut sdispro
    Re,

    Je ne veux pas te démoraliser mais toutes application peu etre piratée et cela sans être un pro.

    Il te faut créer un userform basique et effacer la croix rouge de fermeture, empecher le alt f4.
    de ce fait il sera impossible d'ouvir tout autre fichier excel ou application tant que l'userform est activé.
    Cependant il ne faut pas oublier de te créer un bouton qui te permettra a toi developpeur de pouvoir modifier ta macro.

    Crée ton fichier et ton userform
    Double clique dessus et colle se code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    '''''''''''''''''CROIX ROUGE DE FERMETURE DESACTIVER ET EFFACEE'''''''''''''
     
    Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetWindowLong Lib "User32" Alias _
    "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" _
    (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
    Private Declare Function FindWindowA Lib "User32" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetWindowLongA Lib "User32" _
    (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLongA Lib "User32" _
    (ByVal hWnd As Long, ByVal nIndex As Long, _
    ByVal dwNewLong As Long) As Long
    Private Sub CommandButton1_Click()
    Unload Me
    End Sub
     
    Private Sub Image2_Click()
    Unload UserForm1
    End Sub
     
    Private Sub UserForm_Initialize()
    Dim hWnd As Long
        hWnd = FindWindow("Thunder" & IIf(Application.Version Like "8*", "X", "D") _
        & "Frame", Me.Caption)
        SetWindowLong hWnd, -16, GetWindowLong(hWnd, -16) And &HFFF7FFFF
    UserForm1.Width = Application.Width
    UserForm1.Height = Application.Height
     
     
    End Sub
     
     
    ''''''''''''''''''''''''''''ALT F4 IMPOSSIBLE''''''''''''''''''''''''''''
     
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbFormControlMenu Then Cancel = True
    End Sub
     
     
     
    Private Sub UserForm_Activate()
     Dim hWnd As Long, exLong As Long
     hWnd = FindWindowA(vbNullString, Me.Caption)
     exLong = GetWindowLongA(hWnd, -16)
     If exLong And &H880000 Then
      SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
      Me.Hide: Me.Show
     End If
     End Sub
    Mon code met en plein ecran ton userform et l'adapte à toutes résolution d'écran, de ce fait tout est ok.
    Hésite pas si tu veux plus d'info

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2000] Utilisation d'une macro excel sous access
    Par Syrliane dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/06/2009, 14h17
  2. [WD12&14] utilisation d'une macro de substitution
    Par BENKOUIDER dans le forum WinDev
    Réponses: 2
    Dernier message: 18/06/2009, 13h07
  3. Message pendant utilisation d'une macro
    Par Jonathan Raucy dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/03/2008, 17h48
  4. [VBA] utilisation d'une macro excel 2003 sur excel 2004 for mac
    Par fofika dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/11/2007, 16h30
  5. Utilisation d'une macro d'un autre classeur
    Par madislak dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/07/2006, 15h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo