Code VBA a modifier
Bonjour a tous
en ce jour je viens vers vous afin de trouver solution a mon souci , ou je suis un peu bloquer sur ce code dont
la capture ci dessous
ce code ce met dans un userform
qui est compose d'un identifiant et mot de passe
lorsque je tape l'identifiant =Admin et mot de passe =glen
cela active la feuille ACCEUIL et sélectionne la feuille SAISIE place le curseur dans la cellule A10
jusqu'a la cava , mais mon reel souci c'est ecrire le code inverse qui est le suivant
lorsqu'on saisie un identifiant et mot de passe différent de celui qui est attribuer a la base (ID=Admin et MDP=glen)
je veux que le classeur se ferme automatiquement ou ne lui donne aucun acces a la feuille SAISIE
pouvez vous s'il vous plait m'aider
Merci
Bonjour François,
essaye ce code :
Option Explicit
Private Sub CmdBValid_Click()
Dim TBLogin$, TBMDP$
If TBLogin = "Admin" And TBMDP = "glen" Then
Worksheets("ACCUEIL").Visible = True
Worksheets("SAISIE").Select: [A10].Select
Else
MsgBox "Le mot de passe n'est pas valide."
ThisWorkbook.Close True
End If
UFIdent.Hide
End Sub
dhany
Bonjour,
Le temps de répondre avec un fichier, la première réponse restant tout à fait correcte !
Sur mon fichier, la feuille 2 est masqué à l'ouverture et si l'on note "Admin" ds le USF celle-ci s'affiche.
Bonne réception
Cdt
Bonsoir dhany
merci de m'avoir repondue
apres verification du code proposé il ya un beug
lorsque je saisie identifiant =Admin et MDP =glen il ne fait pas apparaitre la feuille SAISIE aussitôt il fait plutôt apparaître le message d'erreur et ferme le classeur ci-joint la capture du message d'erreur
je veux que lorsque je saisie identifiant= Admin et mot de passe =glen la feuille SAISSIE est active et le curseur se place dans la colonne A10
mais lorsque je saisie identifiant=toto et mot de passe = tata qui est différent des info de base(ID =Admin& mot de passe =glen) en ce moment la le classeur ce ferme ,
le code est bon c'est juste que c'est pas synchronise
merci
je comprends pas ! dans mon code VBA, il y a :
If TBLogin = "Admin" And TBMDP = "glen" Then
Worksheets("ACCUEIL").Visible = True
Worksheets("SAISIE").Select: [A10].Select
Else
MsgBox "Le mot de passe n'est pas valide."
ThisWorkbook.Close True
End If
comme le test est : If TBLogin = "Admin" And TBMDP = "glen" Then
1) ça doit faire apparaître la feuille "ACCUEIL", sélectionner la feuille "SAISIE" et aller en A10
2) c'est seulement si les 2 conditions précédentes ne sont pas vérifiées (True) que ça affiche le message d'erreur
attention : un Login / mot de passe doivent être sensibles à la casse ; exemple : « A » est différent de « a »
sur ta copie d'écran, tu as bien saisi "Admin", mais as-tu bien saisi "glen" ? car avec "Glen", c'est pas bon !
et as-tu saisi "Admin" ou "Admin " ? car avec un espace en trop, c'est pas bon non plus !
dhany
@François
ajout à mon post précédent :
attention aux noms que tu utilises !!!
* d'une part tu as 2 variables nommées varTBLogin et varTBMDP, mais tu ne les utilise pas dans ta sub !
* d'autre part tu as TBLogin et TBMDP qui doivent être le nom de tes 2 TextBox (à vérifier)
dans mon précédent code VBA, j'ai mis la ligne Dim en trop ; essaye ainsi :
Option Explicit
Private Sub CmdBValid_Click()
If TBLogin = "Admin" And TBMDP = "glen" Then
Worksheets("ACCUEIL").Visible = True
Worksheets("SAISIE").Select: [A10].Select
Else
MsgBox "Le mot de passe n'est pas valide."
ThisWorkbook.Close True
End If
UFIdent.Hide
End Sub
si tes 2 TextBox sont bien nommées TBLogin et TBMDP, ça devrait marcher !
dhany
Merci beaucoup ça marche
@François
ajout à mon post précédent :
Screen.jpg
attention aux noms que tu utilises !!!
* d'une part tu as 2 variables nommées varTBLogin et varTBMDP, mais tu ne les utilise pas dans ta sub !
* d'autre part tu as TBLogin et TBMDP qui doivent être le nom de tes 2 TextBox (à vérifier)
dans mon précédent code VBA, j'ai mis la ligne Dim en trop ; essaye ainsi :
Option Explicit Private Sub CmdBValid_Click() If TBLogin = "Admin" And TBMDP = "glen" Then Worksheets("ACCUEIL").Visible = True Worksheets("SAISIE").Select: [A10].Select Else MsgBox "Le mot de passe n'est pas valide." ThisWorkbook.Close True End If UFIdent.Hide End Sub
si tes 2 TextBox sont bien nommées TBLogin et TBMDP, ça devrait marcher !
dhany