J'ai réalisé un programme permettant d'enregistrer les absences d'un élève (plage horaire, classe, matière, nom et prénom), les plages horaires sont recoupé de la manière suivante:

-8h30/10h30
-10h30/12h30
-Matin
13h30/15h30
-15h30/17h30
-Après-midi
-journée

Dans mon programme, lorsque je rentre une absence pour la plage horaire 8h30/10h30 je voudrais que par la suite si je dois anouveau rentrer une absence pour le même élève les plages horaire restantes soit :

-10h30/12h30
13h30/15h30
-15h30/17h30
-Après-midi

Or quand je rentre une absence pour 10h30/12h30 j'ai bien une plage horaire en moins mais pas 3 plages en moins

-8h30/10h30 'étant supprimé
-10h30/12h30
-Matin
13h30/15h30
-15h30/17h30
-Après-midi
-journée

Mon code pour afficher les plages horaires:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 'Remplis la liste des horaires en fonction du nom , et des absences du jour même.
Private Sub ComboNoms_click()
 
    ComboHoraire.Clear
 
Dim Rabs, Rstag, Rhor, Nums, connex
 
'connexion a la base de données
Set connex = CreateObject("ADODB.Connection")
    connex.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & ident.chemin & "';"
 
' Selection du noms des stagiaires
Set Rstag = CreateObject("ADODB.Recordset")
Set Rstag.ActiveConnection = connex
    Rstag.Open "SELECT * FROM Stagiaires WHERE Nom_stag= '" & ComboNoms & "'"
 
' Selection des plages horaires en fonction des plages horaires présentes dans la table absence
Set Rhor = CreateObject("ADODB.Recordset")
Set Rhor.ActiveConnection = connex
    Rhor.Open "SELECT * FROM Horaires WHERE Num_horaire NOT IN" & _
    "(SELECT Plage_abs FROM Absence WHERE Date_abs=#" & calendriers & "# AND " & _
    "Num_stag= " & Rstag("Num_stag") & " ORDER BY Plage_abs)ORDER BY Num_horaire"
 
' Selection des plages horaires
Set Rabs = CreateObject("ADODB.Recordset")
Set Rabs.ActiveConnection = connex
    Rabs.Open "SELECT * FROM Absence WHERE Date_abs=#" & Date & "# AND Num_stag= " & Rstag("Num_stag")
 
    ComboHoraire = "Plages Horaires"
 
Do While Not Rhor.EOF
            'ajouter dans la combo lenregistrement en cours
                ComboHoraire.AddItem Rhor!Horaire
            'passer à lenregistrement suivant
                Rhor.MoveNext
        Loop
 
End Sub
J'ai mis tous le code que j'utilise pour afficher les plages horaires voulu pour un élève défini.

J'ai essayé d'autre façon, mais je n'ai trouvé que ce code pour m'afficher en partie ce que je veux.

Y-a-t-il quelqu'un qui puisse m'aider? cela fais un bon petit moment que je cherche sans résultat.

Merci d'avance pour votre aide.