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 :

[VBA] Comment savoir si une feuille est protégée avec mdp ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut [VBA] Comment savoir si une feuille est protégée avec mdp ?
    Dans excel, on peut protéger un classeur avec un mot de passe. Il y a une propriété password dans l'objet workbook qui, je suppose, contient le mot de passe. Par contre, on peut protéger indépendament les feuilles avec ou sans mdp, mais je ne trouve pas de propriété password dans un objet worksheet. Je voudrais savoir comment, dans le code, on peut savoir si la feuille active est protégé avec un mot de passe ?

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Regarde l'aide à
    (ou Unprotect...)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut
    Merci mais je ne trouve pas de propriétés "password" en rapport avec la méthode protect. Ce que je voudrais faire par exemple, c'est déprotéger toutes les feuilles qui ne sont pas protégées par mdp dans un classeur ( ça génère une erreur si la feuille est protégée par mdp).

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Une petite suggestion en attendant le retour de Megaxel :
    Lancer l'enregistreur de macros ==>> protéger la feuille avec un mot de passe ==>> fermer l'enregistreur puis lire la macro écrite et voir s'il ne convient pas de changer un true en false pour faire l'inverse

  5. #5
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    1°)Comment est-ce que tu stockes tes mots de passe?
    2°) Si tu fais un Unprotect sur une feuille non protégée, tu n'as pas d'erreur, alors qu'est-ce qui t'empêche de faire des Unprotect sans te soucier du fait qu'il y ait un mot de passe?
    3°) Si tu veux vraiment connaître les feuilles qui sont protégées, tu peux essayer de modifier une cellule, et tu gères l'erreur soulevée.

    (Ch'uis là!)

  6. #6
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    parce que lire la propriété Feuille.ProtectContents ca ne suffit pas ?

  7. #7
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Et tu ne pouvais pas le dire plus tôt!!!

    C'est nickel, ça, je ne connaissais pas cette prop' !
    Merci!

    (Y'a pas, ils sont forts, ces Lyonnais...)

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut
    Hmhm je sens comme un leger air de moquerie

    Citation Envoyé par Megaxel
    (Y'a pas, ils sont forts, ces Lyonnais...)
    sinon c'est pas mal j'avais jamais vu non plus et ca peut toujours servir

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    tiens sinon pour dé-protéger la feuille et renvoyer un message d'erreur si tu ne connai pas le mot de passe...:
    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
    Function LibereFeuille(sh As Worksheet)
      Dim bMemo As Boolean
      On Error GoTo ErreurMotDePasse
       bMemo = Application.DisplayAlerts
       Application.DisplayAlerts = False
       sh.Unprotect ""
       Application.DisplayAlerts = bMemo
     LibereFeuille = True
     Exit Function
    ErreurMotDePasse:
    Application.DisplayAlerts = bMemo
    LibereFeuille = False
    End Function
     
    Sub MonTest()
     If LibereFeuille(ActiveSheet) Then
         MsgBox "Liberation OK"
         Else
         MsgBox "Mot de passe inconnu"
    End If
     
    End Sub

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut
    Bon, pas très satisfaisant tout ça. J'avais pensé à le gestion d'erreur et il me semble bien que c'est en effet la seule solution, même si je la trouve pas très élégante. Enfin, l'essentiel c'est que ça marche !

  11. #11
    Expert confirmé
    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
    Points : 4 085
    Points
    4 085
    Par défaut
    Citation Envoyé par Elstak
    Hmhm je sens comme un leger air de moquerie
    Faut pas s'en faire. Y'a de vieux potes qui se taquinent souvent, ici.

  12. #12
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Heyy hooo!
    Julien!!!
    Tu n'as pas lu la réponse de Bidou !!!
    Oublie les *****eries que j'ai pu dire, et prend sa solution!

    (Sinon, pas la moindre moquerie dans ce que j'ai dit: je suis Lyonnais de naissance!!!)

  13. #13
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Citation Envoyé par Megaxel
    (Sinon, pas la moindre moquerie dans ce que j'ai dit: je suis Lyonnais de naissance!!!)
    Il reste encore des autochtones vivants

  14. #14
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Mouais...
    Et dans quelques semaines, je me ferai traiter de "Parisien" par mes nouveaux voisins montpellierains...
    Triste sort...

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut
    Je suis pas sur de m'être bien fait comprendre. Dans mon workbook, toutes mes feuilles sont protégées. Il y en a qui sont protégées avec un mdp et d'autres qui sont protégées sans mdp. La propriété protectcontents renvoie true si la cellule est protégé dans tous les cas. Moi je veux pouvoir distinguer une protection avec mdp d'une protection sans mdp.

  16. #16
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Hum !
    Il me semble que les indications de Bidou sont suffisantes, pourtant !
    Tester si True ou si False.

  17. #17
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    +1
    Votez Bidou !

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut
    Désolé d'insister mais je persiste à dire que les indications de bidou ne répondent pas à ma question. Je la reformule encore une fois :
    Deux worksheet A et B. La feuille A est protégée avec un mot de passe, la feuille B est protégée sans mot de passe. La propriété ProtectContents est True pour les deux feuilles A et B. Quelle propriété permet de dire que la feuille A est protégée avec un mot de passe et la feuille B est protégée sans mot de passe.

  19. #19
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Ok, d'accord, j'avais mal compris...
    Je crois bien qu'une feuille "protégée sans mot de passe" est en fait une feuille "protégée avec un mot de passe qui est "" ".
    Du coup, je dirais bien que la solution avec la gestion de l'erreur est la seule façon de s'en sortir. Mais bon, si Bidou a encore un atoût dans sa manche...

  20. #20
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    OK !
    relis ce que j'ai dit plus haut en ce qui concerne l'enregistreur de macro.
    Fais tes deux essais (un avec mot de passe et un sans)=... et vois la différence... puis sers-t-en en connaissance de cause. J'y parviens avec mon très vieux VBA et ne doute pas une seconde que ton outil moderne te propose au moins autant...
    PS pour Joël : a quoi te réfères-tu ????? (disparououou)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Comment savoir si une feuille est active ?
    Par gryffondor8392 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/05/2011, 11h25
  2. Comment savoir si une feuille est chargée ?
    Par imoelie dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/12/2010, 01h54
  3. comment savoir si une feuille excel est ouverte?
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/12/2008, 10h54
  4. Réponses: 5
    Dernier message: 23/03/2006, 12h41
  5. [Excel] comment savoir si une feuille est ouverte ?
    Par scully2501 dans le forum Access
    Réponses: 11
    Dernier message: 07/10/2005, 15h02

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