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

VB 6 et antérieur Discussion :

Correspondance entre deux colonnes


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut Correspondance entre deux colonnes
    Je cherche à réaliser une connexion par mot de passe avec une correspondance entre le login et le mot de passe !

    J'ai une feuille avec un combobox (pour le choix des utilisateurs), un textbox (pour le mot de passe) et un bouton pour validé !

    Les utilisateurs et les mots de passes sont enregistrés dans une feuille Excel.
    J'arrive à me connecter à la feuille excel et valider le premier mot de passe, mais pas à faire la recherche du mot de passe par rapport à l'utilsateur !

    Si quelqu'un peut me donner un coup de main

    merci

  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
    Alors.... En supposant que tu aies dans une colonne les logins, et dans la colonne d'à côté, les mots de passe, voici une fonction qui te retourne le mot de passe si tu lui passe le login en paramètre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Function TrouveMotDePasse(ByVal MonLogin As String) As String
        Dim MaCellule As Range
        Set MaCellule = ActiveWorkbook.Worksheets(2).Cells.Find(MonLogin, LookIn:=xlValues)
        If Not MaCellule Is Nothing Then
            TrouveMotDePasse = MaCellule.Offset(0, 1).Value
        Else
            TrouveMotDePasse = "Login incorrect"
        End If
    End Function
    Ensuite, lors de ta phase de login, tu n'as plus qu'à comparer ce que contient le textbox rempli par la personne qui veut se connecter au retour de la fonction. Si les deux sont égaux, c'est Ok, sinon, c'est pas bon.
    Maintenant, je ne sais pas si, au niveau sécurité, tu auras quelquechose d'infranchissable...

  3. #3
    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
    on manque un peu d'infos... en suppossant que tu est les noms d'utilisateur dans colonne A2.... et mot de passe correspondant en B2...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub ComboBox1_Change()
     
    MsgBox Range("B2").Offset(ComboBox1.ListIndex)
     
    End Sub

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    déjà merci pour vos réponses

    je vous donne un petit exemple du tableau



    donc dans la colonne de gauche les utilisateurs et à droite les mots de passes, différent pour chaque utilisateur !

    Pour corser un peu le Tout, c'est mon premier gros programme sous visual basic avec base excel, et donc je suis vraiment perdu, je comprend pas trop comment utiliser la fonction de Megaxel et même celle de bbil

    merci pour votre aide

  5. #5
    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 Re: Correspondance entre deux colonnes
    Citation Envoyé par AlfiQue
    J'ai une feuille avec un combobox (pour le choix des utilisateurs), un textbox (pour le mot de passe) et un bouton pour validé !
    Ton combobox , text box et bouton valider , sont sur une feuille excel ou sur une UserForm ?

  6. #6
    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
    Rajoute se code dans UserForm...
    avec ComboBox1 = La combo de choix du nom
    TextBox1 = La Zone saisie mot de passe
    CommandButton1 : le bouton valider...

    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
    '
    ' Fonction ComboBox1_Change.. pour debug à detruire ensuite
    ' Affiche le mot de passe
    Private Sub ComboBox1_Change()
    MsgBox Range("B1").Offset(ComboBox1.ListIndex, 0)
    End Sub
     
    Private Sub CommandButton1_Click()
     If ComboBox1.ListIndex >= 0 Then
        If Range("B1").Offset(ComboBox1.ListIndex, 0) = TextBox1 Then
         MsgBox ("Mot de passe OK")
         Else
         MsgBox ("Errur mot de passe")
        End If
     End If
    End Sub
     
    Private Sub UserForm_Initialize()
    Dim r As Range
     Set r = Range("A1").CurrentRegion
     ComboBox1.Clear
     For i = 1 To r.Rows.Count
      ComboBox1.AddItem r.Cells(i, 1)
     Next
    End Sub

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut Re: Correspondance entre deux colonnes
    Citation Envoyé par bbil
    Citation Envoyé par AlfiQue
    J'ai une feuille avec un combobox (pour le choix des utilisateurs), un textbox (pour le mot de passe) et un bouton pour validé !
    Ton combobox , text box et bouton valider , sont sur une feuille excel ou sur une UserForm ?
    non je suis sous visual basic

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    voilà sa marche merci

    j'ai juste un autre problème :

    Comment tu place le code de fermeture excel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            wbexcel.Close
            appexcel.Quit
            Set wsexcel = Nothing
            Set wbexcel = Nothing
            Set appexcel = Nothing
    pour que excel soit quitter quand la fenêtre ce ferme ?

  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
    ben dans la procedure :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Private Sub Form_Terminate()
    ...

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    oui c'est ce que j'ai fait mais excel reste en mémoire

  11. #11
    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
    Tu dois avoir une référence implicite. Fais voir ton code ?

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    dans mon form_load j'ai ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set appexcel = CreateObject("excel.application")
    Set wbexcel = appexcel.Workbooks.Open("c:\sp\base.xls")
    Set wsexcel = wbexcel.ActiveSheet
    Dim num As Integer
    num = 1
    Set wsexcel = wbexcel.Worksheets(num)

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/09/2014, 19h30
  2. centrer les pages entre deux colonnes
    Par speedylol dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 05/10/2006, 10h35
  3. [EXCEL] Recuperer un match entre deux colonnes
    Par biggir dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/09/2006, 20h43
  4. Swap entre deux colonnes pour 2 enregistrements
    Par Erakis dans le forum SQL Procédural
    Réponses: 12
    Dernier message: 15/12/2005, 19h09
  5. Minimum entre deux colonnes
    Par keikun dans le forum Requêtes
    Réponses: 5
    Dernier message: 18/08/2005, 13h20

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