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 :

Macro mot de passe


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut Macro mot de passe
    Bonjour à tous,

    J'ai mis en place ce code qui permet de mettre une protection à la désactivation de certaines feuilles. Le mot de passe et ensuite retiré avec le 2ème code qui se trouve être dans un formulaire.
    Est-il possible de mettre ces 2 codes dans un module qui servira pour toutes les feuilles concernées.
    Le formulaire de mot de passe est appelé par un bouton à chaque fois que l'utilisateur souhaitera modifier la feuille activée.
    Merci par avance pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Worksheet_Activate()
    Application.ScreenUpdating = False
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
            , AllowFiltering:=True, userinterfaceonly:=True
            Application.ScreenUpdating = True
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub CommandButton1_Click()
    If Me.TxtMpasse.Text <> Sheets("Données").Range("Mpasse") Then
    MsgBox ("Mot de passe incorrect... Veuillez recommencer !")
    Me.TxtMpasse.SetFocus
    Else
        Sheets("Données").Visible = True 'le nom de la feuille sera différente en fonction de l'ouverture souhaitée
        Sheets("Données").Activate
        Sheets("Données").Unprotect 'On enlève la protection de la feuille - Protection mise au Desactivate
    End If
    Unload Me
    End Sub

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Es-tu sûr que ce mot de passe soit utile ?

    Si tu fais ça pour protéger tes feuilles contre des maladresse d'utilisateurs, tu peux mettre en place une protection sans mot de passe.

    Si tu veux vraiment mettre en place une vraie protection, bin... ta méthode a plus de trous qu'un emmental.
    Même avec des méthodes très basiques, il est possible de la contourner très facilement.

  3. #3
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonjour Menhir,

    Dans le ruban, "Protection de la feuille" a été supprimée, donc l'utilisateur ne pourra pas utiliser cette méthode. Mon code Vba est protégé par un mot de passe, la feuille où se trouve le mot de passe est protégée également. Le mot de passe ne se voit pas car mis à la même couleur que la case qui est protégée également.
    Je ne sais pas quoi faire de plus...
    Pour permettre l'écriture dans la feuille "Données" j'ai donc créé le formulaire.

  4. #4
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Ce que Menhir te dis ( Menhir) c'est qu'il est malheureusement illusoire de croire que l'on peut protégé efficacement quelquechose sur Excel

    c'est tellement facile de craquer les codes de protections sur Excel qu'il vaut mieux le savoir et faire avec !
    Sache que les petits malins sauront craquer ton code

  5. #5
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonjour Igloobel,

    Merci pour ta réponse. Mais connaissant mes collègues je doute fort qu'ils puissent craquer un mot de passe. Lorsqu'il rencontre ce genre de problème avec leurs fichiers, c'est à bibi qu'ils font appel, alors je suis rassuré de ce côté là.
    Mais il est vrai quand dans l'absolu, rien n'est vraiment protégé, mais ça freine un peu tout élan de modification directe.

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Vba14 Voir le message
    Dans le ruban, "Protection de la feuille" a été supprimée, donc l'utilisateur ne pourra pas utiliser cette méthode.
    Et tous les rubans ont été verrouillés ?
    Parce que sinon, en trois clics il est possible de remettre cette commande.

    Et le VBE a été verrouillé ?
    Parce que sinon, n'importe quel utilisateur peut écrire une ligne VBA qui fera la même chose.

    la feuille où se trouve le mot de passe est protégée également.
    Le mot de passe ne se voit pas car mis à la même couleur que la case qui est protégée également.
    Un petit test basique.
    Mets-toi dans n'importe quelle cellule de n'importe quelle feuille de ton classeur et tape la formule =Données!Mpasse.
    Qu'est-ce que tu vois dans la cellule ?

    Je ne sais pas quoi faire de plus...
    Pour permettre l'écriture dans la feuille "Données" j'ai donc créé le formulaire.
    Ma méthode perso (c'est juste un avis, je ne dis pas que c'est ce qu'il faut faire), c'est d'éviter de mettre des barrières aux utilisateurs et d'essayer plutôt de les responsabiliser.

    Il y a plusieurs raisons à ça.
    D'abord, la nature humaine est ainsi faite que si une barrière existe, il y aura toujours quelqu'un qui cherchera à la franchir, la contourner, voir la briser. Et plus la protection sera forte, plus cette personne fera un truc stupide et destructif pour en venir à bout. Et c'est d'autant plus facile que cette protection implique le VBA.
    Ensuite, parce que c'est beaucoup plus chiant à mettre en place et à gérer pour le concepteur.

    Responsabiliser l'utilisateur, c'est établir une procédure claire de bonne utilisation.
    Si quelqu'un sort des clous, veut prendre un raccourci ou autre sottise qui cause des problèmes, on sort la boite à coups de pied au cul virtuel, on lui mets le nez dans son caca en lui faisant comprendre que s'il est bloqué, c'est de sa faute. C'est d'autant plus efficace si la maladresse handicape d'autres personnes : elles se chargeront elles-mêmes de faire comprendre au coupable de ne pas recommencer.

    Cette méthode est très efficace à moyen terme.

    Donc, à moins d'avoir des données confidentielle (et, dans ce cas, une application Excel partagée n'est pas une bonne idée), je ne mets que des protections sans mots de passe, juste pour éviter les maladresses.

  7. #7
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Je comprends l'idée. Merci pour ta franchise.

    Le Vbe est protégé. Pour le reste, il est vrai que tout est possible.

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Vba14 Voir le message
    Le Vbe est protégé. Pour le reste, il est vrai que tout est possible.
    Quand tu dis "le VBE est protégé", est-ce que tu parles uniquement de ton code ou de tout l'éditeur ?

  9. #9
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Je voudrais juste ajouter qu'une personne peut créer des macros personnelles (Personal.xlsb) à partir d'un classeur vide, et donc c'est la porte ouverte à toutes possibilité.

    Ceci juste pour cela reste présent à ton esprit

Discussions similaires

  1. [XL-2010] Créer Macro feuil par macro mot de passe
    Par moi244 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/06/2013, 01h33
  2. Ouvrir via une macro un fichier avec mot de passe.
    Par Drost dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/10/2007, 14h47
  3. suppression d'une macro d'une feuille excel protegée par mot de passe
    Par adilissimo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/06/2007, 20h25
  4. [VBA] EXCEL comment mettre un mot de passe dans d’une macro?
    Par POUY64 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 24/01/2006, 16h13

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