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 de feuille et variable associée [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 034
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 034
    Par défaut Protection de feuille et variable associée
    Bonjour le Forum ,


    Je souhaitais pouvoir utiliser une variable en lieu et place d'un mot de passe
    pour protéger une feuille
    le but étant via un userform avoir la possibilité de le changer ,
    pour ce faire j'utilise l'expression suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("TOTO").Unprotect Password:=vPWR
    vPWR = [PWR] <= champ d'une autre feuille du même classeur

    si globalement cela semble fonctionner , il s'avère que si je modifie
    la variable ( donc le contenu du champ [PWR] )
    le mot de passe reste identique à l'ancien jusqu'au redemarrage de l'appli
    il n'y a donc pas de modification de façon disons "dynamique" du mot de passe

    est-ce normal ?

    merci de votre éclairage
    A+

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
    'dans la feuille ou est le mot de passe
    'si ton mot de passe est en "A1" et ta variable déclarée "Public"
    If Target.Address = "$A$1" Then vPWR = Range("A1")
    End Sub
    a +
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 034
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 034
    Par défaut RE
    Merci Dom

    En fait j'ai simplement oublié de réactualiser la feuille où se trouve le MdP ?
    c'est çà ?

    mon test se contentait de le faire sous Workbook_Open()
    ceci explique cela


    A+

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    avec les codes proposés, c'est la variable qui est actualisée.

    a +
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 034
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 034
    Par défaut RE
    merci casefayere

    Pardon , pour la réponse tardive après plusieurs tentatives et essais
    je me suis aperçu que j'avais oublié de mettre en variable l'ancien MdP
    pour déprotéger la feuille ( remarque judicieuse de jfontaine )
    de ce fait , l'appli plantait car elle n'avait pas le bon MdP pour pouvoir déprotéger CQFD

    il faut effectivement bien mettre en mémoire l'ancien MDP avant de procéder à son changement ne serait-ce que pour modifier les feuilles associées et çà va beaucoup mieux après ...

    merci à tous pour votre aide
    A+

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Il faut faire une action a chaque modification de la cellule

    Le selectionchange mémorise l'ancien 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
     
    Public strpwd As String
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "A2" And Target.Value <> strpwd Then
        Me.Unprotect strpwd
        Me.Protect Target.Value
        strpwd = Target.Value
    End If
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address(0, 0) = "A2" Then strpwd = Target.Value
    End Sub

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

Discussions similaires

  1. [VBA-E] protection deprotection feuille
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 22/01/2007, 10h34
  2. Réponses: 2
    Dernier message: 21/01/2007, 20h09
  3. [VBA-E] protection de feuilles
    Par gojira dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/04/2006, 11h43
  4. Protection de feuille excel
    Par tarmin dans le forum Excel
    Réponses: 2
    Dernier message: 21/02/2006, 14h30
  5. [MFC] utilisation des variables associées
    Par Grey dans le forum MFC
    Réponses: 2
    Dernier message: 18/11/2005, 14h00

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