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 :

Afficher un UserForm si pas de 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 éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Afficher un UserForm si pas de mot de passe
    Bonjour,

    A l'ouverture d'un classeur, toutes les feuilles sont cachées sauf 2, la feuille "Intro" et la feuille "Aide".

    Dans la feuille "Intro" s'affiche un UF lors de l'ouverture du fichier. Cet UF se nomme "UFDeproteger" dans lequel il y a une zone de saisie "TxtMotDePasse", où l'on peut saisir un mot de passe, et 2 boutons, un qui est nommé "CmbSansPassWord" et l'autre "CmbAvecPassWord".

    "CmbSans..." permet de visualiser les feuilles sans possiblité de modifications.
    "CmbAvec..." permet les modifications.

    Lorsque l'utilisateur clique sur le bouton "CmbSans...." alors un autre UF s'affiche, cet UF se nomme "UFOnglet". Il permet à l'utilisateur de choisir la feuille qu'il souhaite visualiser.

    Voici le code associé à ce bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub CmbSansPassWord_Click()
        Unload UFDeproteger
        Load UFOnglets
        UFOnglets.Show
    End Sub
    Lorsque l'utilisateur clique sur le bouton "CmbAvec...", il lui est demandé de saisir un mot de passe. Si celui-ci est bon alors toutes les feuilles sont rendues visibles et l'UF "UFOnglet" ne doit pas apparaître et c'est là que je rencontre mon problème. En effet quel que soit le bouton su lequel je clique, l'UF apparait.

    Que dois-je faire pour ne plus avoir ce soucis ?

    Voici le code associé au bouton "CmbAvec..."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub CmbAvecPassWord_Click()
    MotDePasseSaisi = TxtMotDePasse
            If MotDePasseSaisi = MonMotDePasse Then
            Else
                MsgBox ("Mot de passe incorrect !")
            End If
    End Sub

    Le code associé à la déprotection des feuilles

    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
    23
    24
    25
    26
     
    Public Const MonMotDePasse = "danlec"
    Public MotDePasseSaisi As String
    Public Sh As Worksheet
    Public ShEnCours As Worksheet
     
    Sub DeprotegerLesFeuilles()
        With UFDeproteger
            .TxtMotDePasse = ""
            .TxtMotDePasse.PasswordChar = "*"
            .Show
        End With
     
        If MotDePasseSaisi = MonMotDePasse Then
        Application.ScreenUpdating = False
     
            For Each Sh In Worksheets
                Sh.Activate
                    ActiveSheet.Unprotect (MotDePasseSaisi)
                    Feuil19.Activate
                Next Sh
                Application.ScreenUpdating = True
                MsgBox ("Toutes les feuilles ont été déprotégées !" & Chr(10) & Chr(10) & "A la fermeture du fichier, les feuilles seront re-protégées.")
     
        End If
    End Sub
    Merci par avance pour votre aide
    René

  2. #2
    Membre éclairé Avatar de pastis.vi
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2008
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 251
    Par défaut
    Salut NEC14,

    Ce qui est étonnant c'est que tu n'appelle pas l'UFOnglets lors de la saisie du mdp ...
    Tu peux nous envoyer ton fichier pour mieux voir le fonctionnement? (ou trop gros? confidentiel?)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Justement c'est le but, ne pas appeler UFOnglets lors de la saisie du mot de passe.

    Les utilisateurs ayant le mot de passe accèdent à toutes les feuilles et peuvent les modifier.

  4. #4
    Membre éclairé Avatar de pastis.vi
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2008
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 251
    Par défaut
    C'est justement ce que je dis, c'est étonnant que la USF s'affiche alors que tu n'appelle pas l'UFOnglets ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CmbAvecPassWord_Click()
    MotDePasseSaisi = TxtMotDePasse
            If MotDePasseSaisi = MonMotDePasse Then
    "IL Y A QUOI ICI??"
            Else
                MsgBox ("Mot de passe incorrect !")
            End If
    End Sub
    Il y a quoi dans le cas ou le mdp est correct?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Oups ! Je n'avais pas compris.

    Voici le code tel qu'il est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub CmbAvecPassWord_Click()
    MotDePasseSaisi = TxtMotDePasse
            If MotDePasseSaisi = MonMotDePasse Then
                Unload UFDeproteger
            Else
                MsgBox ("Mot de passe incorrect !")
            End If
    End Sub
    Je rencontre un autre problème, c'est qu'après la saisie du mot de passe, rien ne se passe. Aucune feuille n'est rendue visible alors que cela devrait être le cas. Je ne comprends plus rien.

  6. #6
    Membre éclairé Avatar de pastis.vi
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2008
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 251
    Par défaut
    Alors je pense que si rien ne se passe c'est parce que tu ne fais que de cacher l'USF Deproteger avec
    Il faut que tu lui indiquer d'afficher toutes les feuilles dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If MotDePasseSaisi = MonMotDePasse Then
    Ensuite, si l'UFOnglet se lance c'est probablement une histoire de .show et .hide de tes userform.. essaye de faire un
    dans ton IF..Then et dis moi ce que ça donne

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

Discussions similaires

  1. Sudo su n'accepte pas mon mot de pass super user
    Par clubinfo dans le forum Distributions
    Réponses: 4
    Dernier message: 22/12/2010, 12h20
  2. pas de mot de passe
    Par haythem78 dans le forum Installation
    Réponses: 2
    Dernier message: 28/02/2009, 21h46
  3. Réponses: 1
    Dernier message: 17/10/2007, 07h12
  4. Réponses: 2
    Dernier message: 22/11/2006, 15h45
  5. Pas de mot de passe root...
    Par marchand_de_sable dans le forum Administration système
    Réponses: 22
    Dernier message: 16/08/2005, 21h32

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