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 :

Conditionner une action par mot de passe [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2012
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 31
    Par défaut
    Bonsoir,

    Totalement ignorant en la matière mais voulant servir sa petite entreprise au mieux de mes possibilités, on m'a demandé de poursuivre le travail d'un collègue maintenant partis.
    J'ai tenté et réussis à modifier certaines fonctionnalité du code VBA pour s’adapter à la demande, mais mes propres connaissances s’arrête là ou je l'espère les vôtres pourront largement solutionner mes problématiques :

    Nom : image001.png
Affichages : 255
Taille : 208,3 Ko

    J'ai attaché une image et le fichier excel de référence,le but étant pour moi de solutionner le problème :

    je souhaiterai que les onglets Add Item & remove item demandent un MP, le mieux pour moi serai de stocker le MP sur une feuille excel et je cacherai cette page.

    cela étant vraiment hors de mes compétences, donc je remercie tous ceux qui peuvent m'aider


    Je m'appercois avoir oublié de mettre le code en place dans le message, mes excuses pour cet oublis.

    Si je ne me trompe pas ,je pense que ma demande concerne le :
    CommandButton4 et CommandButton8

    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
    Private Sub CommandButton4_Click()
    nouv.Show
    End Sub
     
    Private Sub CommandButton5_Click()
    dat = Date
    End Sub
     
    Private Sub CommandButton6_Click()
    End
    End Sub
     
    Private Sub CommandButton8_Click()
    If Val(rest.Caption) > 0 Then MsgBox ("VOUS DEVEZ SORTIR TOUS LES PRODUITS"): Exit Sub
    If Xprod = 0 Then MsgBox ("Select your Item"): Exit Sub
    Feuil1.Rows(Xprod).Delete
    lifour
    dico1
    TextBox1 = ""
    End Sub
    Merci pour votre aide .

  2. #2
    Membre chevronné Avatar de pasdechances
    Homme Profil pro
    Alternant, Ingénieur en systèmes Informatiques et Industriels
    Inscrit en
    Septembre 2015
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Alternant, Ingénieur en systèmes Informatiques et Industriels
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 218
    Par défaut
    bonjour,
    je te propose un epetite fonction a adapter celon ton besoin
    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
    Function TestId(IDRéférent As String, MdPRéférent As String) As Boolean
     
        a = CStr(UserForm2.TextBox1.Value)
        b = CStr(UserForm2.TextBox2.Value)
    'Controle de correspondance
        If a = IDRéférent And b = MdPRéférent Then
     
            TestId = True
     
        Else
     
            MsgBox "L'identifiant ou le mot de " _
                & "pass est erroné.", _
                vbExclamation, _
                "Erreur"
            TestId = True
        End If
     
    End Function
    il te permet, de verifier un mot de passe et un identifient, contenu sur une feuille, meme cachée.
    apres, dans ton code à toi, n'oubli pas d'appeler un USF, avec deux textbox pour que l'utilisateur entre ces identifiants.


    exemple :

    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
    27
    28
    29
    30
    31
    32
    Private Sub CommandButton1_Click()
        Dim IDRéférent As String
        Dim MdPRéférent As String
     
        IDRéférent = CStr(Feuil3.Cells(1, 2))
        MdPRéférent = CStr(Feuil3.Cells(2, 2))
        i = 1
     
    'l'opérateur aura 5 chance avant la fermeture    
        While i < 5
    'j'appele la fonction qui est plus haut avec TestId()  
            If TestId(IDRéférent , MdPRéférent ) = True Then
    'ici tu met les condition si l'identifiant est correcte
    'j'active  une feuille et je donne l'outil de developpement
                Feuil1.Activate
                Application.ShowDevTools = True
                UserForm1.Show
                Me.Hide
                exit sub
            Else
    'je donne une chance supplémentaire si erreur
    'je reset les textbox
                i = i + 1
                Me.TextBox1.Value = ""
                Me.TextBox2.Value = ""
            End If
     
        Wend
    'tu mettra ici ta condition de refus j'ai mit fermetur du classeur mais apres a toi de voir se qui te correspond
        Workbook.Close
     
    End Sub
    a toi d'adapter en fonction de ton besoin ^^

  3. #3
    Membre averti
    Inscrit en
    Novembre 2012
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 31
    Par défaut
    Bonjour pasdechances,

    Je vous remercies pour se soutient, je vais tester adapté et reviendrai certainement pour je l'espère cloturer ce topic
    Cdlt,

  4. #4
    Membre chevronné Avatar de pasdechances
    Homme Profil pro
    Alternant, Ingénieur en systèmes Informatiques et Industriels
    Inscrit en
    Septembre 2015
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Alternant, Ingénieur en systèmes Informatiques et Industriels
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 218
    Par défaut
    attention ,
    dans ma fonction testId, j'ai mit "=true" tout le temps, tu doit bien entendu mettre "= false" quand la condition n'est pas respecté.

    Correctif :

    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
    Function TestId(IDRéférent As String, MdPRéférent As String) As Boolean
     
        a = CStr(UserForm2.TextBox1.Value)
        b = CStr(UserForm2.TextBox2.Value)
    'Controle de correspondance
        If a = IDRéférent And b = MdPRéférent Then
     
            TestId = True
     
        Else
     
            MsgBox "L'identifiant ou le mot de " _
                & "pass est erroné.", _
                vbExclamation, _
                "Erreur"
            TestId = false
        End If
     
    End Function

  5. #5
    Membre averti
    Inscrit en
    Novembre 2012
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 31
    Par défaut
    Je reviens,

    J'ai créer une sheet avec en A1 et B1 les log et pwd (nommé Sheet2)
    J'ai créer un USF (nommé pwd) avec le code suivant :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Function TestId(IDRéférent As String, MdPRéférent As String) As Boolean
     
        a = CStr(Pwd.TextBox1.Value)
        b = CStr(Pwd.TextBox2.Value)
    'Controle de correspondance
        If a = IDRéférent And b = MdPRéférent Then
     
            TestId = True
     
        Else
     
            MsgBox "L'identifiant ou le mot de " _
                & "pass est erroné.", _
                vbExclamation, _
                "Erreur"
            TestId = True
        End If
     
    End Function
    Private Sub CommandButton1_Click()
        Dim IDRéférent As String
        Dim MdPRéférent As String
     
        IDRéférent = CStr(Sheet3.Cells(1, 2))
        MdPRéférent = CStr(Sheet3.Cells(2, 2))
        i = 1
     
    'l'opérateur aura 5 chance avant la fermeture
        While i < 5
    'j'appele la fonction qui est plus haut avec TestId()
            If TestId(IDRéférent, MdPRéférent) = True Then
    'ici tu met les condition si l'identifiant est correcte
    'j'active  une feuille et je donne l'outil de developpement
                Feuil1.Activate
                Application.ShowDevTools = True
                nouv.Show
                Me.Hide
                Exit Sub
            Else
    'je donne une chance supplémentaire si erreur
    'je reset les textbox
                i = i + 1
                Me.TextBox1.Value = ""
                Me.TextBox2.Value = ""
            End If
     
        Wend
    'tu mettra ici ta condition de refus j'ai mit fermetur du classeur mais apres a toi de voir se qui te correspond
        Workbook.Close
     
    End Sub
    Quand je teste, j'ai un message d'erreur qui traduit me dit :

    Methode ou Membre non répertorié
    Et cela me renvoie sur le deboggeur a cette ligne :

    a = CStr(Pwd.TextBox1.Value)
    Le but étant d'activer le USF "nouv"

  6. #6
    Membre chevronné Avatar de pasdechances
    Homme Profil pro
    Alternant, Ingénieur en systèmes Informatiques et Industriels
    Inscrit en
    Septembre 2015
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Alternant, Ingénieur en systèmes Informatiques et Industriels
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 218
    Par défaut
    j'ai deux questions toutes betes :

    1)est tu sur de bien avoir changer le name de ton USF et non pas le caption ?
    2)est-ce bien la text box 1 et 2 que tu utilise ?

  7. #7
    Membre averti
    Inscrit en
    Novembre 2012
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 31
    Par défaut
    Je pense effectivement avoir bien fait les choses, mais je peux me tromper :
    Nom : Capture3.PNG
Affichages : 198
Taille : 21,5 Ko

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

Discussions similaires

  1. Souci de date code VBA Excel 2010 (Francais/Anglais)
    Par mennix dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/04/2015, 18h44
  2. [XL-2003] Aide sur code VBA sur Excel
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/03/2013, 17h14
  3. un coup de main sur un bout de code
    Par namstou3 dans le forum Flex
    Réponses: 2
    Dernier message: 01/07/2008, 06h27
  4. mot de passe sur code VBA
    Par Cupidon dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/02/2007, 15h05

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