Notifications
Clear all

Projeto Login e Senha

10 Posts
4 Usuários
0 Reactions
1,644 Visualizações
(@bilokas)
Posts: 168
Estimable Member
Topic starter
 

Olá amigos, primeiramente gostaria de desejar um ótimo dia a todos.
Estou trabalhando num sistema de login a partir de um exemplo retirado do Fórum do TomásVasquez,

Fiz os devidos ajustes no layout e etc. Percebi que o código identifica todos os logins informados na coluna A, porém a coluna B onde ficam as senhas, ele só identifica o que está na célula B2

Preciso que ele identifique as senhas obedecendo a linha do login.

Abaixo segue o código do formulário, mas também está em anexo caso haja dúvidas no que eu expliquei.

Private Sub cmdEntrar_Click()
         If txtLogin = "" Then
            MsgBox "Digite o usuário.", vbInformation, "AVISO"
            Exit Sub
            txtLogin.SetFocus
        Else
          If txtSenha = "" Then
                MsgBox "Digite a senha.", vbInformation, "AVISO"
                Exit Sub
                txtSenha.SetFocus
          End If
        End If

        col = 1
        lin = 2
        While (Sheets("LOGIN").Cells(lin, col) <> txtLogin)
            lin = lin + 1
            If lin > 100 Then
                MsgBox "Usuário não cadastrado.", vbCritical, "ATENÇÃO"
                Exit Sub
            End If
        Wend

        Dim senha As String
        lin = 2
        col = 2
        senha = Sheets("LOGIN").Cells(lin, col).Value

        If txtSenha <> senha Then
            MsgBox "Senha incorreta.", vbCritical, "ATENÇÃO"
            Exit Sub
        Else
            MsgBox "Bem-vindo(a) " & txtLogin & ".", vbInformation, "SUCESSO"
            lin = 2
            col = 1
            While (Sheets("LOGS").Cells(lin, col) <> "")
                lin = lin + 1
            Wend
            Sheets("LOGS").Cells(lin, 1) = txtLogin.Value
            Sheets("LOGS").Cells(lin, 2) = txtSenha.Value
            Sheets("LOGS").Cells(lin, 3) = Time
            Sheets("LOGS").Cells(lin, 4) = Date
            Sheets("LOGS").Visible = xlSheetVisible
            Sheets("INICIO").Activate
            ActiveWindow.DisplayWorkbookTabs = True
            Hide
        End If
End Sub


Private Sub cmdCancelar_Click()
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    Application.Quit
End Sub


Private Sub txtLogin_Exit(ByVal Cancel As MSForms.ReturnBoolean)
txtSenha.SetFocus
End Sub


Private Sub UserForm_Terminate()
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    Application.Quit
End Sub


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 16/12/2013 8:01 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Veja esse modelo
http://www.sendspace.com/file/xvwyqk

Cadê seu anexo?

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/12/2013 8:11 am
(@bilokas)
Posts: 168
Estimable Member
Topic starter
 

Segue o anexo.


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 16/12/2013 8:12 am
(@bilokas)
Posts: 168
Estimable Member
Topic starter
 

Alexandre esse modelo proposto por você possui um sistema de trocar senha que para mim não serve. Além de ser em inglês, o que dificulta meu entendimento para alguma possível adaptação.


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 16/12/2013 11:09 am
(@bilokas)
Posts: 168
Estimable Member
Topic starter
 

Alguém ai pode me dar uma força?


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 17/12/2013 11:35 am
(@lucaslc7)
Posts: 2
New Member
 

nossa eu usava o mesmo codigo mas so foi vc falar percebi que tinha isso de errado

 
Postado : 17/12/2013 11:43 am
 LF83
(@lf83)
Posts: 22
Eminent Member
 

Bilokas,

Tem um erro no seu código. Ele só verifica a B2 porque o código tá congelado na B2.

Acho que esse modelo aqui vai te atender, com as devidas adaptações:

http://www.sendspace.com/file/8iarh9

Abraço!

 
Postado : 19/12/2013 6:50 pm
 LF83
(@lf83)
Posts: 22
Eminent Member
 

Uma correção. Acrescente o parametrô "Lookat:=xlWhole" no find.

aÍ vai ficar:

Set x = ws.Range("A:A").Find(usuario, Lookat:=xlWhole)
 
Postado : 19/12/2013 7:12 pm
(@bilokas)
Posts: 168
Estimable Member
Topic starter
 

Obrigado a todos pela atenção. LF83 suas dicas ajudaram muito e eu consegui resolver meu problema.


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 20/12/2013 8:48 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/12/2013 7:10 pm