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 :

userform ouverture par mots de passe


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    chef de service
    Inscrit en
    Mars 2015
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : chef de service

    Informations forums :
    Inscription : Mars 2015
    Messages : 50
    Par défaut userform ouverture par mots de passe
    Bonjour

    Je veux ouvrir mon userform avec mot de passe.
    Mon code fonctionne bien pour un seul mot de passe, je souhaite que 2 ou trois mots de passe différents puissent l'ouvrir avec le même bouton. Est ce possible?
    Les 5 mots de passe différents sont dans la feuille "Mdp" range B1 à B5

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
    Dim Mdp As String
     
    recom:
    Mdp = InputBox("Veuillez saisir votre mot de passe", "Mot de passe")
     
    If Mdp = Sheets("mdp").Range("b2").Value Then
        UserForm6.Show
     
      Else
        If MsgBox("Mot de passe non valide, voulez-vous réessayer ?", vbExclamation + vbRetryCancel, "Mot de passe incorrect") = vbRetry Then GoTo recom
    End If
     
    End Sub
    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    dans ton test en ligne 7, insère des blocs via l'opérateur logique OR pour chaque mot de passe possible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Mdp = "toto" Or Mdp = "tata" Or ..... Then
    Et si la liste des Mdp est sur une plage Excel, tu peux éviter cet empilement de OR qui devient galère s'il y a beaucoup de Mdp en vérifiant si le Mdp saisi existe dans la plage.
    Là il y a plusieurs méthodes :

    - faire un FIND sur la plage
    - utiliser la fonction Match

    exemple avec la fonction MATCH, où la liste des Mdp est en colonne 1 de la feuille "Feuil1"
    à adapter bien sûr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub toto()
    Dim MaPlageDeMDP As Range
    ' j'utilise un Mdp écrit en dur dans le code ... à adapter
    Const LEMOTDEPASSE As String = "Prenom NOM"
    Set MaPlageDeMDP = Thisworkbook.Worksheets("Feuil1").UsedRange.Columns(1) ' par le nom de la feuille // on peut le faire par son CodeName
     
        ' si la fonction MATCH est en erreur = le Mdp n'existe pas
        If IsError(Application.Match(LEMOTDEPASSE, MaPlageDeMDP, 0)) Then
            MsgBox "Mdp faux"
        Else
            MsgBox "Mdp OK"
        End If
    End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    chef de service
    Inscrit en
    Mars 2015
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : chef de service

    Informations forums :
    Inscription : Mars 2015
    Messages : 50
    Par défaut re
    Super merci fonctionne très bien avec la méthode or, et de plus ça me permet de sélectionner qui a des droits.

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Qu'entend-tu par "de plus ça me permet de sélectionner qui a des droits" ?

    si les droits sont différents en fonction du mot de passe, alors un Select Case est plus pratique :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Select Case Mdp
        Case "toto", "tata"
            Msgbox "Droits administrateur"
        Case "titi"
            Msgbox "Droits modification"
        Case "toutou"
            Msgbox "Droits lecture seule"
        Case Else
            Msgbox "Mdp erroné"
    End Select

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

Discussions similaires

  1. [XL-2013] Protection du code VB par mot de passe, mais qui saute si ouverture sous calc
    Par chris76 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/10/2015, 00h03
  2. Ouverture feuille par mot de passe
    Par danyocean dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/01/2010, 23h43
  3. Ouverture de formulaire par mot de passe.
    Par amaury94270 dans le forum Sécurité
    Réponses: 4
    Dernier message: 19/02/2008, 16h09
  4. [VB6]ouverture d'un fichier bloqué par mot de passe
    Par toytoy18 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/06/2006, 17h21

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