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 :

Protection par mot de passe en vba [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Par défaut Protection par mot de passe en vba
    Bonjour à tous,

    J'ai fait plusieurs recherche pour trouver une explication à une interprétation d'un code qui remonte une erreur (vu dans ce topic : https://www.developpez.net/forums/d1...ion-passe-vba/)

    Il s'agit de ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub protect()
     
    Dim T As Worksheet
     
    Set T = Sheets("Test")
     
    T.protect True
     
    Set T = Nothing
     
    End Sub
    Ce code protège la feuille mais si l'on veut la déverrouiller manuellement (onglet "Révision") cela demande un mot de passe ce qui signifie que Excel interprète la ligne T.Protect avec un mot de passe définit or ce n'est pas le cas.

    Auriez vous une explication car je comprends pas qu' Excel demande un mot de passe.

    Je sais qu'il s'agit d'une "erreur" de syntaxe car "T.protect" suffit mais c'est l'interprétation du code qui m'intrigue.

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Syntaxe de Protect :
    Protect motdepasse

    T.Protect True fait que ton mot de passe est : True.
    Comme il ne s'agit pas d'une chaîne de caractère, tu ne peux pas débloquer ta feuille.

    Essaye ceci, tu n'auras pas de mot de passe :

  3. #3
    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
    Supprime le True dans ton code.

    Ecrire T.protect True signifie que tu protèges ta feuille avec True comme mot de passe.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Par défaut
    Merci pour votre réactivité,

    Donc l'explication logique est celle de pikaju : "Comme il ne s'agit pas d'une chaîne de caractère, tu ne peux pas débloquer ta feuille."

    Comme Excel demande un mot de passe, je vous avouerais que j'aurais bien aimer savoir ce qu'il prends comme valeur.

    Et à la limite que Excel bloque à la compilation car le type de données renseigné n'est pas le bon mais comme "Password" est de type Variant il peut prendre n'importe quoi...

    Je me prends peut-être la tête pour rien, mais il y a quelque chose qui m’échappe.

  5. #5
    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 *Derek* Voir le message
    Comme Excel demande un mot de passe, je vous avouerais que j'aurais bien aimer savoir ce qu'il prends comme valeur.
    Si tu veux débloquer ta feuille, le plus simple est de taper dans la fenêtre d'exécution de VBE : ActiveSheet.UnProtect true en ayant comme feuille active celle qui est bloquée.
    Si tu veux le faire "à la main", utilise comme mot de passe TRUE (en majuscules).

    Et à la limite que Excel bloque à la compilation car le type de données renseigné 'est pas le bon mais comme "Password" est de type Variant il peut prendre n'importe quoi...
    Un mot de passe peut être n'importe quelle valeur et une valeur booléenne est une valeur comme une autre.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Par défaut
    Merci Menhir, j'avais essayé avec True, Vrai, vrai et true mais pas TRUE...

    C'est ça qui m’échappai, une nouvelle fois merci te désolé si je vous ai fait perdre du temps.

    Et longue vie à ce forum!, le meilleur moyen d'apprendre.

    Cordialement

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

Discussions similaires

  1. [XL-2010] Problème protection par mot de passe en VBA
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 18/01/2018, 01h23
  2. [XL-2010] Problème protection par mot de passe en VBA
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/01/2018, 10h34
  3. Comment protéger le code VBA par mot de passe
    Par electrosat03 dans le forum VBA Access
    Réponses: 5
    Dernier message: 12/01/2012, 12h19
  4. créer un fichier PDF protégé par mot de passe en VBA
    Par programmer_c'est_dur dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/05/2009, 22h09
  5. [Formulaire][VBA] Bloquer l'accès par mot de passe
    Par sumtech dans le forum Sécurité
    Réponses: 2
    Dernier message: 17/04/2007, 16h25

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