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

capture

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

12v-1.xlsm (18.70 Ko)

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

message d erreur

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 :

screen

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

Rechercher des sujets similaires à "code vba modifier"