Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e)

Salut à tous

 

dans le cadre d'une entreprise, je developpe une appli sous Excel (à leur demande) et malheureusement le code vba ne peut être caché de la vue des utilisateur

 

comment faire pour le rendre innacessible ?

le probleme se pose sous Excel 97 et 95

 

merci

Posté(e)

Le code est toujours accessible ??

Même en "protégeant la feuille de calcul" (ou le classeur, je sais plus) ?? (et en ne laissant accessible que les boutons / cellules qui doivent être utilisés)

Posté(e)

si je protege la feuille et le classeur on peut tjs y acceder par visual basic editor

et dans 95 c'est encore pire car les macro sont sur des feuilles modules et on peut meme po les cacher

Posté(e)

Un petit extrait du site :

 

Protection du code VBA

 

   * Comment empêcher l'accès à Visual Basic Editor

 

   1°) Désactiver la barre d'outils VB : application.CommandBars("Visual Basic").Enabled = false

   2°) Rendre inaccessible la commande du menu Outils/ Macro

 

       Sub MasqueMenuOutilsMacros()

       application.CommandBars(1).Controls(6).Controls(10).Enabled = false

       end Sub

 

       'Pour réafficher le Menu Outils, Macros :

       Sub AfficheMenuOutilsMacros()

       application.CommandBars(1).Controls(6).Controls(10).Enabled = true

       end Sub

 

   * voir actioncode.htm

   * verrouiller et déverrouiller le projet VBA : news

 

     vous pouvez aussi tester ça mais c'est une proposition moins récente que la solution ci-dessus

     Declare Function FindWindowA Lib "User32" _

     (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

 

     Declare Function BringWindowToTop Lib "User32" _

     (ByVal hwnd As Long) As Long

 

     Sub Test()

     Dim Wbk As Workbook

     BringWindowToTop FindWindowA(vbNullString, Application.Caption)

     SendKeys "%{F11}^r%{F11}", True

     For Each Wbk In Workbooks

     If Wbk.Windows(1).Visible And _

     Wbk.VBProject.Protection = vbext_pp_locked Then

     Wbk.Activate

     SendKeys "%{F11}{LEFT}Zaza~%{F11}", True

     End If

     Next Wbk

     End Sub

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...