Page d'idendification

Messages postés
71
Date d'inscription
lundi 24 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2006
-
Messages postés
71
Date d'inscription
lundi 24 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2006
-
Bonjour à tous,

Je voudrais éxécuter une feuille d'identification automatiquement à l'ouverture d'un classeur.
On peut imaginer deux champs avec le nom et le prénom et s' ils ne correspondent pas
à une liste alors il y a un message et l'écran reste sur la feuille.

Si vous aviez des astuces cela serait super

merci d'avance et bon week-end

11 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut Marathon Man,

essaie ça :
<small>
Coloration syntaxique automatique </small>
' *** dans le module ThisWorkBook :
Private Sub ThisWorkBook_Open() 
    UserForm1.Show 
End Sub 

' *** insère un UserForm (UserForm1):
' met lui 2 textbox : (TextBox1 pour le nom, TextBox2 pour le prénom)
' met lui 2 boutons : (CommandButton1 pour valider, CommandButton2 pour annuler)
Private Sub CommandButton1_Click() 
    If TextBox1.Text = "Man" And TextBox2.Text = "Marathon" Then 
        MsgBox "Identification connue": Sheets(2).Select 
    ElseIf TextBox1.Text = "Mortalino" And TextBox2.Text = "" Then 
        MsgBox "Cette fois ci je ne t'aiderai pas pendant 11h": Sheets(3).Select 
    Else 
        MsgBox "Perdu, mauvaise identification": ThisWorkBook.Close False 
    End If 
End Sub 

Private Sub CommandButton2_Click() 
    MsgBox "Vous avez annulé, ce fichier va se fermer": ThisWorkBook.Close False 
End Sub

<small>
Coloration syntaxique automatique </small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
71
Date d'inscription
lundi 24 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2006

salut Mortalino,

Grace à vous tous la présentation de mon projet à été un succés. Présentation de la version finale le 11 septembre. je vais essayé merci

Super forum
Messages postés
71
Date d'inscription
lundi 24 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2006

Je suis bien d'accord pas pendant 11 heures

j'ai oublié de te dire que je voudrais comparer la case remplie à une liste de nom
est-ce que je peux le faire avec ce code

Merci
Messages postés
71
Date d'inscription
lundi 24 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2006

Je ne pense pas àvoir fait une erreur mais l'UserForm ne s'affiche pas
et il est bien créé

tu as une idée ?

voilà le code que j'ai mis

Private Sub ThisWorkBook_Open()
    UserForm1.Show
   
  End Sub
 
    Private Sub CommandButton1_Click()    If TextBox1.Text "Man" And TextBox2.Text "Marathon" Then
        MsgBox "Identification connue": Sheets(2).Select    ElseIf TextBox1.Text "Mortalino" And TextBox2.Text "" Then
        MsgBox "Cette fois ci je ne t'aiderai pas pendant 11h": Sheets(3).Select
    Else
        MsgBox "Perdu, mauvaise identification": ThisWorkbook.Close False
    End If
End Sub


Private Sub CommandButton2_Click()
    MsgBox "Vous avez annulé, ce fichier va se fermer": ThisWorkbook.Close False
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Oui, l'idéal serait de placer ta liste dans une feuille de ton classeur :

Par exemple tu la nommes "ListID"
Place dans les cellules :
A1 : Nom
B1 : Prénom
A2:Ax : autant de noms que tu souhaites.
B2:Bx : autant de prénoms que tu souhaites.

<small>
Coloration syntaxique automatique </small>
' *** dans le module ThisWorkBook :
Private Sub ThisWorkBook_Open()  
    UserForm1.Show  
End Sub  

' *** insère un UserForm (UserForm1):
' met lui 2 textbox : (TextBox1 pour le nom, TextBox2 pour le prénom)
' met lui 2 boutons : (CommandButton1 pour valider, CommandButton2 pour annuler)
Private Sub CommandButton1_Click()  
    Dim i As Long, DerLine As Long 

DerLine = Sheets("ListID").Columns(1).Find("", [A1], , , xlByRows, xlNext).Row - 1 

  For i = 2 To DerLine 
    If TextBox1.Text = Cells(i, 1).Value And TextBox2.Text = Cells(i, 2).Value Then  
        MsgBox "Identification connue": Sheets(2).Select: Exit Sub 
    End If  
  Next i 

MsgBox "Mauvaise identification", vbCritical: TextBox1.SetFocus 
End Sub  

Private Sub CommandButton2_Click()  
    MsgBox "Vous avez annulé, ce fichier va se fermer": ThisWorkBook.Close False  
End Sub 
<small>
Coloration syntaxique automatique </small>

<small></small> @++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Il faut absolument que l'objet précédant .Show soit indiqué par son nom.
Par exemple, quand tu insères un UserForm dans un nouveau Projet, il s'appelle UserForm1.
Tu peux le renommer, par exemple en frmPatiente.
Du coup, l'instruction devient :
frmPatiente.Show

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
71
Date d'inscription
lundi 24 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2006

Pour confirmation, je mets le code suivant dant le code de l'userform ?

a+

Private Sub CommandButton1_Click()  
    Dim i As Long, DerLine As Long 

DerLine = Sheets("ListID").Columns(1).Find("", [A1], , , xlByRows, xlNext).Row - 1 

  For i = 2 To DerLine 
    If TextBox1.Text = Cells(i, 1).Value And TextBox2.Text = Cells(i, 2).Value Then  
        MsgBox "Identification connue": Sheets(2).Select: Exit Sub 
    End If  
  Next i 

MsgBox "Mauvaise identification", vbCritical: TextBox1.SetFocus 
End Sub  

Private Sub CommandButton2_Click()  
    MsgBox "Vous avez annulé, ce fichier va se fermer": ThisWorkBook.Close False  
End Sub 
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Oui, sachant qu'il faut sur ton UserForm les 2 boutons, les 2 textbox, et que tu aies créé la feuille ListID

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
71
Date d'inscription
lundi 24 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2006

J'ai changé de classeur car j'avais un soucis avec.
De plus je mets du temps car j'essaye de comprendre et non de copier bêtement

La liste est crée

dans A2 j'ai VELO
dans B2 j'ai VELO

lorsque que l'userform s'affiche je mets VELO et VELO et il me dit mauvaise identification

Je ne vois pas pourquoi ?
A+
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Parce que j'ai merder dans le code :

Private Sub CommandButton1_Click()
Dim i As Long, DerLine As Long

DerLine = Sheets("ListID").Columns(1).Find("", [A1], , , xlByRows, xlNext).Row - 1

For i = 2 To DerLine
If TextBox1.Text = Sheets("ListID").Cells(i, 1).Value And _
TextBox2.Text = Sheets("ListID").Cells(i, 2).Value Then
MsgBox "Identification connue": Sheets(2).Select: Exit Sub
End If
Next i

MsgBox "Mauvaise identification", vbCritical: TextBox1.SetFocus
End Sub

Private Sub CommandButton2_Click()
MsgBox "Vous avez annulé, ce fichier va se fermer": ThisWorkBook.Close False
End Sub

Avant les Cells(i, j), j'aivais oublié 'Sheets("ListID").'
^^ les code là est bon.

++
Messages postés
71
Date d'inscription
lundi 24 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2006

le test que j'ai fait ne fonctionne pas.
pas d'erreur mais et toujours mauvaises identification

a+