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 :

[Excel] Sécurité d'une application


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 109
    Par défaut [Excel] Sécurité d'une application
    J'aimerais avoir l'avis de plusieurs personnes sur une question que je me posais il y a quelques temps... Voila, j'ai crée une application sous Excel avec a "lot of" macro. Cette appli est bien sur utilisé par plusieurs personnes et je ve voudrais (sans changer le deroulement de l'appli) bloquer et sécuriser mon travail. exemple : ne pas avoir accés aux macros, bloquer quelques cellules ...

    Donc voila, j'espere avoir un max d'avis sur la question et bocou d'idée... merci d'avance

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut

    Pour les cellules (formules et autres trucs que l'utilisateur ne dois pas toucher), il y a la portection de feuille, protection de classeur.

    Commence par déverrouiller les cellules où les utilisateur on le droit d'accéder: Format > Cellule > onglet Protection > décoche l'option Verrouillé.
    Dans le même onglet, tu peux aussi masquer certaines cellules. En fait, des lingnes ou colonnes complètes pour éviter de montrer certaines informations sensibles.

    Ensuite, tu protège le classeur, ou la feuille, c'est selon.
    Outils > Protection > Protéger la feuille ou Protéger le classeur. Et tu mets un mot de passe.

    Pour le code:
    Dans l'éditeur VBA, Outils > Propriétés de NomDuProjet où NomDuProjet est le nom de ton Projet VBA (par défaut : ProjetVBA) > onglet Protection.
    Coche l'option Verrouiller le projet pour affichage et mets un mot de passe.

  3. #3
    Membre chevronné Avatar de ypicot
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 412
    Par défaut
    Petit ajout : il existe sur internet des utilitaires permettant de craker les mots de passe excel.
    La protection est donc valable pour les utilisateurs que tu connais (plus ou moins), et non pour la malveillance (reverse-engenering, ...)

    A noter également que la protection du module (telle qu'indiquée par zaza) dévalide le bouton "déboguer", ce qui est un avantage supplémentaire.

    VBment,

    Yvan

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    En effet, l'avais oublié, c'ui là!

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 109
    Par défaut
    Donc aucun moyen de vraiment securisé mon projet ...

  6. #6
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Citation Envoyé par le_sonic
    Donc aucun moyen de vraiment securisé mon projet ...
    J'en ai peur ... Excel est avant tout un tableau, avec énormément de possibilités certes, mais ça reste une appli de bureautique. Le développement d'applis de gestion à partir de cet outil devrait donc être réservé à de petits utilitaires persos, et pas à des applis de gestion multi-utilisateurs.

    Un avis plus détaillé à ce sujet :
    http://www.sitecollector.com/projets...rs/page16.php3
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 109
    Par défaut
    OH MERCI , le lien est génial...

    J'aurais une derniere petite question ... Je pensais refaire mon appli pour la protéger, mais quel serais le meilleur language ou le meilleur logiciel pour faire cela

    ps: mon appli sous excel ressemble en gros a une chek-list que des auditeurs doivent remplir et ensuite ca sors un rapport d'une vingtaine de page...

  8. #8
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Si tu as tout codé en VBA, je pense que le plus simple serait de passer à VB6. Problème, ce langage commence à devenir obsolète et ne s'achète plus (ou que sur des sites d'enchères).

    De toutes façons, si c'est pour piloter Excel, un choix comme VB (6, ou .Net), ou C# reste l'idéal.

    Maintenant, ça dépend de tes connaissances ?
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 109
    Par défaut
    Ben pa mal VBA, mais je suis chaud pr me lancer dans une nouvo language pour que mon appli tourne du tonerre ... donc tu pense ke la mieu ca sera laquelle ?

    ps : merci pr toute ton aide

  10. #10
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Si tu veux apprendre un langage qui a de l'avenir chez MS, alors choisi C#, ou à la rigueur VB .Net. Les 2 sont gratuits 1 an en version Express (VS 2005) et téléchargeable ici :
    - http://msdn.microsoft.com/vcsharp/
    - http://msdn.microsoft.com/vbasic/

    Voici une présentation de VS 2005 : http://lgmorand.developpez.com/dotnet/vs2005/
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  11. #11
    Membre chevronné Avatar de ypicot
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 412
    Par défaut
    Si je me base sur les quelques applis que j'ai pu voir, le pb ne sera pas tant du langage lui-même (tu retrouveras les boucles, les if...) mais plutot le découpage du prg qui sera totalement à repenser.

    Dans Excel, tu as tout d'un bloc (IHM et stockage), le VBA ne servant généralement qu'à organiser un peu tout ça.
    Si tu passes à autre chose (vb6, vb.net, ou même Delphi ou PHP) tu vas t'appercevoir que tu dois tout faire toi-même (les formulaires, les bases de données, en plus de la logique métier). Le "gap" se situe plutôt à ce niveau-là.

    Ton avantage : dans ce cas, utilises ton appli comme une maquette, un modèle à attendre avec d'autres moyens. Dis-toi que tu as fait une des parties les plus difficiles : définir ce qu'il y a à faire.

    Yvan

  12. #12
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 109
    Par défaut
    Encore merci, je vais m'y mettre ...

    Sinon vous , vous avez deja fait des appli sous C# ou .NET pour voir un peu ce que ca donne...

  13. #13
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Selon l'importance du projet et la nécessité de le rendre opérationnel rapidement
    la solution transitoire serait peut-être d'adapter le code VBA en VB6 tout en surveillant la compatibilité avec .net
    (à l'aide de Code Advisor par exemple) puis de migrer ensuite en .net :
    double travail (encore que) mais adaptation plus rapide du développeur et disponibilité du projet également plus rapide ;
    mais ce n'est qu'un avis (évidemment se pose le problème de disposer de VB6).

  14. #14
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 109
    Par défaut
    Non je pense sérieusement reprendre la prog a 0(meme si je dois changer un peu l'interface), mais en fait quel est la vrai difference entre le C# et le .Net ?

    Je veux vraiment faire quelque chose qui perdura dans le temps,je vais vous expliquer plus en détail l'appli existante pr m'aider a faire un choix

    Alors voila les utilisateurs ouvre un fichier excel avec tous d'abord des listes deroulantes a remplir dans une feuille excel puis il ouvre plusieur "userform" et coche des caractéristique. ensuite il clique sur un menu (que jé créer) et tout sort sur un rappor final sous format excel que l'on imprime et que l'on envoi a nos clients (avec mis en page,etc...) . En gros les utilisateurs vont sur des installations et sorte des caractéritiques techniques avant travaux

  15. #15
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Citation Envoyé par le_sonic
    Non je pense sérieusement reprendre la prog a 0(meme si je dois changer un peu l'interface), mais en fait quel est la vrai difference entre le C# et le .Net ?
    Visual Studio .NET (2003 ou 2005) est la suite d'outils de développement de Microsoft : elle contient en particulier VB.NET ET C#. Avec la version 2005, tu peux télécharger l'un ou l'autre de ces IDE.

    Citation Envoyé par le_sonic
    Alors voila les utilisateurs ouvre un fichier excel avec tous d'abord des listes deroulantes a remplir dans une feuille excel puis il ouvre plusieur "userform" et coche des caractéristique. ensuite il clique sur un menu (que jé créer) et tout sort sur un rappor final sous format excel que l'on imprime et que l'on envoi a nos clients (avec mis en page,etc...) . En gros les utilisateurs vont sur des installations et sorte des caractéritiques techniques avant travaux
    Ce que tu décris est tout à fait typique d'une appli de gestion : saisie de données, enregistrement dans une BDD, et impression d'un rapport.

    Par rapport à ce qui a été dit, voilà les ressources que Developpez propose :

    VB6 :
    Tutoriels VB6
    A voir au début, la section Initiation, puis la section d'accès aux données

    Visual Studio .NET :
    Tutoriels Visual Studio (C# et VB.Net)
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

Discussions similaires

  1. [Excel] - Tester si une application externe est active.
    Par Chewi dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 30/10/2023, 16h31
  2. [EAR] sécurité d'une application j2ee
    Par turbo_chess dans le forum Java EE
    Réponses: 4
    Dernier message: 24/09/2008, 14h54
  3. création fichier Excel à partir d'une application WPF
    Par modafine dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 01/08/2008, 08h53
  4. Sécurité d'une application
    Par kmarcel dans le forum Sécurité
    Réponses: 11
    Dernier message: 06/02/2008, 16h32
  5. Réponses: 1
    Dernier message: 02/02/2006, 14h26

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