Public Class FrmInput2 REM variables public a la feuille (classe) Dim tme() As String = {"Allemand", "Anglais", "Astronomie", "Biologie", "Espagnol", "Français", "Géographie", "Géologie", "Histoire", "Mathématique", "Philosophie", "Russe"} Dim tmo() As String = {"Allemand", "Anglais", "Astronomie", "Espagnol", "Histoire", "Russe", "Lancer", "Natation", "Saut"} Dim treg() As String = {"Auvergne", "Bordelais", "Bretagne", "Morvan", "Nord", "Normandie", "Paris", "Poitou"} Dim ctro As Integer Dim ctre As Integer Private Sub FrmIsc3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim i As Integer REM pour les for Dim CB As CheckBox REM pour les for checkbox i = 0 For Each CB In GBEcrit.Controls REM Charge l'écrit CB.Text = tme(i) i += 1 Next i = 0 For Each CB In GBOral.Controls REM Charge l'oral CB.Text = tmo(i) i += 1 Next i = 0 For i = 0 To UBound(treg) CboRegion.Items.Add(treg(i)) Next LblNP.Text = FrmInput1.TxtNom.Text & " " & FrmInput1.TxtPrenom.Text REM Reprend le nom et le prénom depuis la feuille input1. If FrmAccueil.Boule = True Then REM edition Me.Tag = "Assistant édition de candidature (3/4)" CboRegion.SelectedIndex = FrmAccueil.cddts.Region For Each CB In GBEcrit.Controls For i = 0 To UBound(FrmAccueil.cddts.Ecrit) If FrmAccueil.cddts.Ecrit(i) = CB.Text Then CB.Checked = True Next i Next For Each CB In GBOral.Controls For i = 0 To UBound(FrmAccueil.cddts.Oral) If FrmAccueil.cddts.Oral(i) = CB.Text Then CB.Checked = True Next Next If FrmAccueil.cddts.Fac = Nothing Then RBno.Checked = True Else RBYes.Checked = True CboFac.SelectedIndex = FrmAccueil.cddts.Fac End If CmdPre.Visible = True LblCaR.Visible = False LblNP.Text = FrmEdit.SelectedID & " - " & FrmInput1.TxtNom.Text & " " & FrmInput1.TxtPrenom.Text REM Ajoute l'identifiant en cas de modifications. End If If FrmAccueil.Boule = False Then REM inscription Me.Tag = "Assistant création de candidature (3/4)" LblCaR.Tag = 75 RBno.Checked = True PnlFac.Visible = False RBno.Checked = True CboRegion.SelectedIndex = 0 REM met premier en tête... TmrCaR.Start() REM timer start End If End Sub Private Sub CmdAnnul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdAnnul.Click TmrCaR.Stop() REM fin timmer FrmEdit.Close() REM ferme toutes les fenètres... FrmNouv.Close() FrmInput1.Close() Me.Close() FrmAccueil.Show() REM retour a l'accueil End Sub Private Sub TmrCaR_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrCaR.Tick LblCaR.Tag -= 1 If LblCaR.Tag >= 60 Then Me.Text = Me.Tag & " | " & FrmAccueil.Horaire & " | Temps restant : 1:" & Format(LblCaR.Tag - 60, "00") End If If LblCaR.Tag < 60 And LblCaR.Tag > 0 Then Me.Text = Me.Tag & " | " & FrmAccueil.Horaire & " | Temps restant : " & LblCaR.Tag End If If LblCaR.Tag = 0 Then Me.Text = Me.Tag & " | " & FrmAccueil.Horaire End If If LblCaR.Tag <= 1 Then LblCaR.Text = "Vous disposez de " & LblCaR.Tag & " seconde restante." End If If LblCaR.Tag > 61 Then LblCaR.Text = "Vous disposez d'une minute et " & LblCaR.Tag - 60 & " secondes restantes." End If If LblCaR.Tag = 61 Then LblCaR.Text = "Vous disposez d'une minute et " & LblCaR.Tag - 60 & " seconde restante." End If If LblCaR.Tag <= 60 And LblCaR.Tag <> 1 Then LblCaR.Text = "Vous disposez de " & LblCaR.Tag & " secondes restantes." End If If LblCaR.Tag <= 10 Then LblCaR.ForeColor = Color.Red End If If LblCaR.Tag <= 0 Then TmrCaR.Stop() LblCaR.Text = "Le temps impartie est écoulée." MsgBox("Le temps impartie est écoulé. L'inscription a échoué.", MsgBoxStyle.Exclamation, "Echec") FrmEdit.Close() FrmInput1.Close() FrmNouv.Close() Me.Close() FrmAccueil.Show() 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 If ctre + ctro = 7 Then TmrCaR.Stop() Me.Hide() FrmInput3.Show() Else : MsgBox("Vous devez choisir 4 examens écrits et 3 examens oraux. (Vous pouvez dès lors choisir des examens facultatifs.", MsgBoxStyle.Exclamation, "Erreur") End If End Sub Private Sub CmdDelet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim quit As Integer quit = MsgBox("Vous êtes sur le point de supprimer une candidature. Voulez-vous continuer ?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Suppression d'un candidat") If quit = 6 Then MsgBox("Le Candidat a bien été supprimé.", MsgBoxStyle.Information, "Information") FrmEdit.Close() FrmNouv.Close() FrmInput1.Close() Me.Close() FrmAccueil.Show() End If End Sub Private Sub CmdPre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdPre.Click REM retour au précédant Me.Hide() FrmInput1.Show() End Sub REM Dans le panel pour les examens facultatifs Private Sub RB_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RBno.CheckedChanged, RBYes.CheckedChanged If RBno.Checked Then RBYes.Checked = False LblFac2.Visible = False CboFac.Visible = False GBEcrit.Enabled = True GBOral.Enabled = True End If If RBYes.Checked Then RBno.Checked = False LblFac2.Visible = True CboFac.Items.Clear() REM Efface la liste des exams facultatifs Dim Chb As CheckBox For Each Chb In GBEcrit.Controls REM Construit la liste des exams facultatifs. Il est plus intelligent de le mettre là plutôt que dans la fonction DeclencheurdeFacultatif car il est recalculé après avoir choisit la possibilité des examens, et non a chaque clique des cases. De plus, ca pose un problème de reset. If Chb.Checked = False Then CboFac.Items.Add(Chb.Text) Next For Each Chb In GBOral.Controls If Chb.Checked = False Then CboFac.Items.Add(Chb.Text) Next CboFac.Visible = True CboFac.SelectedIndex = 0 REM met premier en tête... GBEcrit.Enabled = False GBOral.Enabled = False End If End Sub Private Sub SecureEcritMAX4(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged, CheckBox2.CheckedChanged, CheckBox3.CheckedChanged, CheckBox4.CheckedChanged, CheckBox5.CheckedChanged, CheckBox6.CheckedChanged, CheckBox7.CheckedChanged, CheckBox8.CheckedChanged, CheckBox9.CheckedChanged, CheckBox10.CheckedChanged, CheckBox11.CheckedChanged, CheckBox12.CheckedChanged If sender.checkstate = CheckState.Checked Then ctre += 1 If ctre > 4 Then MsgBox("Vous ne pouvez pas choisir plus de 4 examens ecrits.", MsgBoxStyle.Exclamation, "Erreur") sender.checkstate = CheckState.Unchecked End If Else ctre -= 1 End If DeclencheurDeFacultatif() REM Appelle la fonction qui déclenche l'affichage du choix de l'exam facultatif REM Regule l'affichage du nombre d'examen choisit. If ctre = 0 Then LblNbEcr.Text = "" ElseIf ctre = 1 Then LblNbEcr.Text = ctre & " examen écrit choisit sur 4." Else LblNbEcr.Text = ctre & " examens écrits choisit sur 4." End If End Sub Private Sub SecureOralMAX3(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox13.CheckedChanged, CheckBox14.CheckedChanged, CheckBox15.CheckedChanged, CheckBox16.CheckedChanged, CheckBox17.CheckedChanged, CheckBox18.CheckedChanged, CheckBox19.CheckedChanged, CheckBox20.CheckedChanged, CheckBox21.CheckedChanged If sender.checkstate = CheckState.Checked Then ctro += 1 If ctro > 3 Then MsgBox("Vous ne pouvez pas choisir plus de 3 examens oraux.", MsgBoxStyle.Exclamation, "Erreur") sender.checkstate = CheckState.Unchecked End If Else ctro -= 1 End If DeclencheurDeFacultatif() If ctro = 0 Then LblNbOral.Text = "" ElseIf ctro = 1 Then LblNbOral.Text = ctro & " examen oral choisit sur 3." Else LblNbOral.Text = ctro & " examens oraux choisit sur 3." End If End Sub Private Sub ChageAllemand(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox12.CheckedChanged, CheckBox21.CheckedChanged CheckBox21.Enabled = Not CheckBox12.Checked REM Active/Désactive la ChB de l'oral en fonction de l'état de la ChB de l'écrit. CheckBox12.Enabled = Not CheckBox21.Checked REM Idem mais en fonction de l'oral End Sub Private Sub ChangeAnglais(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox11.CheckedChanged, CheckBox20.CheckedChanged CheckBox20.Enabled = Not CheckBox11.Checked REM Active/Désactive la ChB de l'oral en fonction de l'état de la ChB de l'écrit. CheckBox11.Enabled = Not CheckBox20.Checked REM Idem mais en fonction de l'oral End Sub Private Sub ChangeAstronomie(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox10.CheckedChanged, CheckBox19.CheckedChanged CheckBox19.Enabled = Not CheckBox10.Checked REM Active/Désactive la ChB de l'oral en fonction de l'état de la ChB de l'écrit. CheckBox10.Enabled = Not CheckBox19.Checked REM Idem mais en fonction de l'oral End Sub Private Sub ChangeEspagnole(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox8.CheckedChanged, CheckBox18.CheckedChanged CheckBox18.Enabled = Not CheckBox8.Checked REM Active/Désactive la ChB de l'oral en fonction de l'état de la ChB de l'écrit. CheckBox8.Enabled = Not CheckBox18.Checked REM Idem mais en fonction de l'oral End Sub Private Sub ChangeHistoire(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox4.CheckedChanged, CheckBox17.CheckedChanged CheckBox17.Enabled = Not CheckBox4.Checked REM Active/Désactive la ChB de l'oral en fonction de l'état de la ChB de l'écrit. CheckBox4.Enabled = Not CheckBox17.Checked REM Idem mais en fonction de l'oral End Sub Private Sub ChangeRusse(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged, CheckBox16.CheckedChanged CheckBox16.Enabled = Not CheckBox1.Checked REM Active/Désactive la ChB de l'oral en fonction de l'état de la ChB de l'écrit. CheckBox1.Enabled = Not CheckBox16.Checked REM Idem mais en fonction de l'oral End Sub Private Sub DeclencheurDeFacultatif() If ctre + ctro = 7 Then REM Affiche les facultatifs après avoir coché tout les examens obligatoire PnlFac.Visible = True Else REM Cache tout. PnlFac.Visible = False End If End Sub End Class