/// <summary>
        /// enregistrement de l'ajout ou de la modification de l'absence
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnEnregistrerAbsence_Click(object sender, EventArgs e)
        {
            grbGestionAbsences.Text       = "Enregistrement d'une absence";
            btnEnregistrerAbsence.Enabled = true;
            btnAnnulerAbsence.Enabled     = true;

            string format = "yyyy-MM-dd HH:mm:ss";

            if (dtpDateDebutDate.CustomFormat == format)
            {
                if (TestDateTimePicker(dtpDateDebutDate, dtpDateFinDate))
                {
                    DateTime datedebut = dtpDateDebutDate.Value;
                    DateTime datefin   = dtpDateFinDate.Value;
                    Motif    motif     = (Motif)bdgMotifs.List[bdgMotifs.Position];
                    Service  service   = (Service)bdgServices.List[bdgServices.Position];
                    if (MessageBox.Show("Voulez-vous enregistrer les modifications ? ", "Confirmation d'enregistrement", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        int idpersonnel = 0;

                        if (enCoursDeModifAbsences)
                        {
                            idpersonnel = (int)dgvPersonnel.SelectedRows[0].Cells["idpersonnel"].Value;
                            Absences absences     = new Absences(idpersonnel, datedebut, motif.Idmotif, motif.Libelle, datefin);
                            DateTime Olddatedebut = (DateTime)dgvAbsence.SelectedRows[0].Cells["Datedebut"].Value;

                            controle.UpdateDate(absences, Olddatedebut);
                            enCoursDeModifAbsences = false;
                        }
                        else
                        {
                            string motifNew = cboMotif.Text;
                            idpersonnel = (int)dgvPersonnel.SelectedRows[0].Cells["idpersonnel"].Value;
                            Absences absences = new Absences(idpersonnel, datedebut, motif.Idmotif, motifNew, datefin);
                            controle.AddAbsences(absences);
                        }
                        Personnel personnel = (Personnel)bdgPersonnels.List[bdgPersonnels.Position];
                        RemplirListeAbsence(personnel);
                        dtpDateDebutDate.Value        = DateTime.Now;
                        dtpDateFinDate.Value          = DateTime.Now;
                        btnEnregistrerAbsence.Enabled = false;
                        btnAnnulerAbsence.Enabled     = false;
                    }
                }
                else
                {
                    MessageBox.Show("En dessous d'une seconde d'écart, entre la date de debut et la date de fin, la date de fin ne pourra être validé", "Information");
                }
            }
        }