Aide MOT de PASSE
Bonjour à tous les membres
Mon code ci dessous me permet d'ouvrir un l'onglet "Liste Déroulante" lorsque le nom est autorisé et le mot de passe est le bon
Pour cette action seul 2 noms sont autorisé.
Private Sub CommandButton1_Click()
If Me.TextBox1.Value = "" Or Me.TextBox2.Value = "" Then Exit Sub
With Sheets("MOT PASSE").Range("a2:a3")
'Seuls les Noms en A2 et A3 sont autorisés pour cette action, les autres sont présents pour d'autres actions
' Les noms et mots de passe se trouvent dans l'onglet "MOT PASSE"
Set C = .Find(Me.TextBox1.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing Then
' Ici on reconnait le nom et le mot de passe en A2 ou A3 et on ouvre l'onglet "LISTE DEROULANTE"
If C.Offset(0, 1).Value = Me.TextBox2.Value Then
Nom = Me.TextBox1
Unload UserFormReserve_Pool
Sheets("Liste déroulante").Select
Else
MsgBox "Mot de pass erroné", vbOKOnly + vbCritical, "Réessayer"
With Me
.TextBox1 = ""
.TextBox2 = ""
End With
End If
Else
MsgBox "Utilisateur Non Autorisé", vbOKOnly + vbCritical, "Réessayer"
With Me
.TextBox1 = ""
.TextBox2 = ""
End With
End If
End With
End SubJe souhaite que le NOM en A2 ouvre l'onglet "Liste déroulante" comme actuellement
Mais que celui en A3 ouvre l'onglet "TRI"
Merci de votre aide
Bonjour,
Je souhaite que le NOM en A2 ouvre l'onglet "Liste déroulante" comme actuellement
Le code que tu donnes ne l'ouvre pas cet onglet. Il dit à chaque fois "mot de passe erroné"
essaie comme ceci :
Private Sub CommandButton1_Click()
Dim nom As String
If Me.TextBox1.Value = "" Or Me.TextBox2.Value = "" Then Exit Sub
With Sheets("MOT PASSE").Range("a2:a3")
'Seuls les MOT PASSE en A2 et A3 sont autorisés pour cette action, les autres sont présent s pour d'autres actions
' Les MOT PASSE se trouve dans l'onglet "MOT PASSE"
Set C = .Find(Me.TextBox1.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing Then
' Ici on reconnait le mot pass en A2 ou A3 et on ouvre l'onglet "LISTE DEROULANTE"
If Not C.Offset(0, 1).Value = Me.TextBox2.Value Then
nom = Me.TextBox1
If UCase(nom) = UCase(Range("A2")) Then Unload UserFormReserve_Pool: Sheets("Liste déroulante").Select
If UCase(nom) = UCase(Range("A3")) Then Unload UserFormReserve_Pool: Sheets("TRI").Select
Else
MsgBox "Mot de pass erroné", vbOKOnly + vbCritical, "Réessayer"
With Me
.TextBox1 = ""
.TextBox2 = ""
End With
End If
Else
MsgBox "Utilisateur Non Autorisé", vbOKOnly + vbCritical, "Réessayer"
With Me
.TextBox1 = ""
.TextBox2 = ""
End With
End If
End With
End SubTu peux aussi éviter le mot "nom" en remplaçant les mots "nom" par "me.textbox1".
Dans ce cas, supprime aussi ce que j'ai rajouté --> Dim nom as string
Amicalement
Merci DAN pour ton aide.
Le code ne fonctionnait pas chez moi, j'ai supprimé NOT dans le morceau suivant:
If Not C.Offset(0, 1).Value = Me.TextBox2.Value Then
nom = Me.TextBox1
If UCase(nom) = UCase(Range("A2")) Then Unload UserFormReserve_Pool: Sheets("Liste déroulante").Select
If UCase(nom) = UCase(Range("A3")) Then Unload UserFormReserve_Pool: Sheets("TRI").Select
Et tous va bien
Merci