Public Class FrmInput1 Public nais As Integer REM en mois. ANS*12 + MOIS Dim auj As Integer REM en mois. Today.Year*12 + Today.Month Dim agem As Integer REM en mois, différence entre auj et nais Dim agea As Integer REM en années (entière), calculé a partir de agem Dim agemin, agemax As Integer REM Intervalle de l'age, calculé a partir d'aujourd'hui Private Sub CmdAnnul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdAnnul.Click TmrCaR.Stop() REM arret du timer FrmEdit.Close() REM ferme toutes les pages précédentes FrmNouv.Close() Me.Close() REM ferme la page courante FrmAccueil.Show() REM retour a la page d'accueil (show) End Sub Private Sub TmrCaR_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrCaR.Tick LblCaR.Tag -= 1 REM décremente le temps Me.Text = Me.Tag & " | " & FrmAccueil.Horaire & " | Temps restant : " & LblCaR.Tag REM Indicateur compte a rebourt pour la barre de titre REM condition d'affichage divers : If LblCaR.Tag <= 1 Then LblCaR.Text = "Vous disposez de " & LblCaR.Tag & " seconde." End If If LblCaR.Tag < 60 And LblCaR.Tag <> 1 Then LblCaR.Text = "Vous disposez de " & LblCaR.Tag & " secondes." End If If LblCaR.Tag <= 10 Then LblCaR.ForeColor = Color.Red End If If LblCaR.Tag <= 0 Then REM temps écoulé TmrCaR.Stop() REM arret du timer LblCaR.Text = "Le temps impartie est écoulé." MsgBox("Le temps impartie est écoulé. L'inscription a échoué.", MsgBoxStyle.Exclamation, "Echec") FrmEdit.Close() REM ferme les feuilles précédement fermés FrmNouv.Close() REM : Est-il necessaire de tester la feuille a fermer en fonction de l'état de boule ? Me.Close() REM ferme la feuille pour la réinitialiser FrmAccueil.Show() REM retour a l'accueil End If End Sub Private Sub FrmIsc2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load LblCaR.Tag = 60 REM initialisation du timer auj = Today.Year * 12 + Today.Month agemin = auj - (56 * 12) REM Permet aux personnes ayant 55 ans et quelques mois de se présenter. 56 ans pile est une valeur exclue : Df=[25, 56[ agemax = auj - (25 * 12) SBHAge.Maximum = agemax + (SBHAge.LargeChange - SBHAge.SmallChange) + 6 REM Le +12 intervient car la Scrollbar va de 0 à 99. SBHAge.Minimum = agemin + 12 If FrmAccueil.Boule = True Then REM true == édition Me.Tag = "Assistant édition de candidature (2/4)" Me.Text = "Assistant édition de candidature (2/4)" Lbl1.Text = "Editez l'identité du canditat ici :" TxtNom.Text = FrmAccueil.cddts.Nom TxtPrenom.Text = FrmAccueil.cddts.Prenom TxtAdrss.Text = FrmAccueil.cddts.Adresse TxtCP.Text = FrmAccueil.cddts.CP TxtVille.Text = FrmAccueil.cddts.Ville TxtMois.Text = FrmAccueil.cddts.Age Mod 12 TxtAns.Text = FrmAccueil.cddts.Age \ 12 LblAns.Text = conv(FrmAccueil.cddts.Age, 0) SBHAge.Value = FrmAccueil.cddts.Age CmdPre.Visible = True LblCaR.Visible = False LblID.Visible = True LblID.Text = "Id : " & FrmEdit.SelectedID REM met d'ID en cas d'édition. End If If FrmAccueil.Boule = False Then REM false == inscription Me.Tag = "Assistant création de candidature (2/4)" TmrCaR.Start() REM lancement du timer End If End Sub Private Sub CmdNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdNext.Click Dim OK As Boolean = True Dim ChkNom, Chkprenom, ChkCP, ChkVille, ChkMois, chkAge As Boolean ChkNom = False Chkprenom = False ChkCP = False ChkVille = False ChkMois = False chkAge = False CmdNext.Tag = "" If TxtNom.Text = "" Then ChkNom = True OK = False LblNom.Tag = "• La saisie du nom n'a pas été effectuée." LblNom.ForeColor = Color.Red End If If TxtPrenom.Text = "" Then Chkprenom = True OK = False LblPrenom.Tag = "• La saisie du prénom n'a pas été effectuée." LblPrenom.ForeColor = Color.Red End If If TxtCP.TextLength < 5 Then ChkCP = True OK = False LblCP.Tag = "• La saisie du code postal est vide ou incomplète." LblCP.ForeColor = Color.Red End If If TxtVille.Text = "" Then ChkVille = True OK = False LblVille.Tag = "• La saisie de la ville n'a pas été effectuée." LblVille.ForeColor = Color.Red End If If (nais >= agemax Or nais < agemin) And ChkMois = False Then chkAge = True OK = False LblAns.Tag = "• L'age n'est pas compris entre 25 et 55 ans." LblAns.ForeColor = Color.Red LblAge.ForeColor = Color.Red End If If OK = False Then 'Call erreur(ChkNom, LblNom.Text) 'Call erreur(Chkprenom, LblPrenom.Tag) 'etc If ChkNom Then CmdNext.Tag = LblNom.Tag & vbNewLine If Chkprenom Then CmdNext.Tag = CmdNext.Tag & LblPrenom.Tag & vbNewLine If ChkCP Then CmdNext.Tag = CmdNext.Tag & LblCP.Tag & vbNewLine If ChkVille Then CmdNext.Tag = CmdNext.Tag & LblVille.Tag & vbNewLine If ChkMois Then CmdNext.Tag = CmdNext.Tag & TxtMois.Tag & vbNewLine If chkAge Then CmdNext.Tag = CmdNext.Tag & LblAns.Tag & vbNewLine MsgBox("Les erreurs suivantes se sont produites : " & vbNewLine & vbNewLine & CmdNext.Tag, MsgBoxStyle.Exclamation, "Erreur") End If If OK Then TmrCaR.Stop() REM fin du timer Me.Hide() REM cache feuille courante FrmInput2.Show() REM montre feuille ajout End If End Sub 'Function erreur(ByVal chk As Boolean, ByRef mess As String) ' If chk Then CmdNext.Tag = CmdNext.Tag & mess & vbNewLine 'End Function Private Sub CmdPre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdPre.Click REM retour au fichier précédant Me.Hide() FrmEdit.Show() End Sub Private Sub TxtCP_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtCP.KeyPress, TxtMois.KeyPress, TxtAns.KeyPress If e.KeyChar = vbBack Then Exit Sub End If If e.KeyChar < "0" Or e.KeyChar > "9" Then REM On peut utiliser aussi Not IsNumeric() e.KeyChar = Chr(0) End If End Sub 'Private Sub SBHAge_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles SBHAge.Scroll ' agea = SBHAge.Value / 12 ' TxtAns.Text = agea ' Call conv(Today.Month, TxtAns.Text) ' TxtMois.Text = Today.Month ' LblAge.ForeColor = Color.Black ' LblAnnee.ForeColor = Color.Black 'End Sub Private Sub SBHAge_ValueChanged1(ByVal sender As Object, ByVal e As System.EventArgs) Handles SBHAge.ValueChanged agea = SBHAge.Value / 12 TxtAns.Text = agea Call conv(Today.Month, TxtAns.Text) TxtMois.Text = Today.Month LblAge.ForeColor = Color.Black LblAns.ForeColor = Color.Black End Sub Private Sub TxtMois_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtMois.LostFocus, TxtAns.LostFocus If TxtMois.Text > 12 Then TxtMois.Text = 12 If TxtMois.Text < 1 Then TxtMois.Text = 1 Call conv(TxtMois.Text, TxtAns.Text) If nais >= agemin And nais <= agemax Then LblAge.ForeColor = Color.Black LblAns.ForeColor = Color.Black End If End Sub 'Private Sub Txtans_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtAns.LostFocus ' If nais >= SBHAge.Minimum And nais <= SBHAge.Maximum Then ' SBHAge.Value = nais ' End If 'End Sub Function conv(ByRef mois As Integer, ByRef annee As Integer) As Integer nais = annee * 12 + mois agem = auj - nais agea = agem \ 12 LblAns.Text = agea & " ans" End Function Private Sub txtNom_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtNom.LostFocus If TxtNom.Text <> "" Then LblNom.ForeColor = Color.Black End Sub Private Sub txtPrenom_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtPrenom.LostFocus If TxtPrenom.Text <> "" Then LblPrenom.ForeColor = Color.Black End Sub Private Sub txtCP_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtCP.LostFocus If TxtCP.TextLength = 5 Then LblCP.ForeColor = Color.Black End Sub Private Sub txtVille_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtVille.LostFocus If TxtVille.Text <> "" Then LblVille.ForeColor = Color.Black End Sub End Class