Compatibilité de plages horaires

Bonjour,

Je dois créer un planning de passage d'examens pour 80 étudiants (J'ai une liste de noms et un n° de candidat attribué à chaque étudiant) .

Ils doivent passer 3 épreuves en 2 jours dans 3 matières différentes avec à chaque fois des jurys différents que je dois intégrer dans le planning.

Comment pourrais-je créer FACILEMENT une feuille qui me permettrait de choisir un triplet d'horaires compatibles pour chaque étudiant ?

Si quelqu'un voit la solution à mon problème, je suis preneur... Mieux, si vous l'avez, je la prends

Voici les contraintes :

Les horaires ne peuvent pas se chevaucher.

Un étudiant ne peut pas être dans 2 matières en même temps.

Un jury ne peut prendre qu'un étudiant à la fois.

Un candidat doit passer les 3 matières la même journée.

Les plages horaires sont pré-définies pour chaque matière :

Matière 1 (3 Jurys le 1er jour - 4 Jurys le 2ème jour) :

capture1

Matière 2 (5 Jurys le 1er jour - 5 Jurys le 2ème jour...Ils sont différents de ceux du 1er jour) :

capture

Matière 3 ( 6 jurys identiques les deux jours) :

capture

Merci à tous,

Je vous joins la matrice du "Bidule" pour mieux comprendre...

FM

10planning.xlsx (25.24 Ko)

Salut fmiso,

avant de commencer à penser à quelque chose, que les horaires ne se chevauchent pas est très logique mais, dans ce cas, comment expliques-tu le chevauchement, une fois sur deux, en matière 1, des horaires de fin et de début de l'examen suivant ?

A+

Salut fmiso,

un début de quelque chose, actuellement très figé (pas d'autre configuration possible que celle expliquée dans ta demande) mais qui a l'air de fonctionner.

Ne pas toucher à l'emplacement général des tableaux en 'Horaires' ni à la ligne 5 (valeurs cachées, en écriture blanche).

Les profs absents sont en rouge.

Je n'ai tenu compte que des heures de début d'examen (cfr mon précédent post).

Un double-clic dans 'Horaires' démarre la macro qui tourne (pas s'inquiéter!) jusqu'à ce que tous les élèves soient placés.

Pour visualiser en couleur l'horaire de chaque élève, cliquer sur le nom de l'élève.

            For Each rCel In Range(sCol1 & "10:" & sCol2 & 36)
                If rCel.Value = "" And Cells(8, rCel.Column).Font.Color <> RGB(255, 0, 0) And _
                    Cells(5, rCel.Column) < Cells(9, rCel.Column) Then
                    Select Case x
                        Case 1
                             If Abs(tData(iIdx, 5) - rCel.Row) >= 4 And Abs(tData(iIdx, 7) - rCel.Row) >= 4 And _
                                tData(iIdx, 6) <> Cells(8, rCel.Column) And tData(iIdx, 8) <> Cells(8, rCel.Column) Then iOK = 1
                        Case 2
                            If ((rCel.Row < 23 And rCel.Row Mod 4 = 2) Or (rCel.Row > 23 And rCel.Row Mod 4 = 0)) And _
                                tData(iIdx, 6) <> Cells(8, rCel.Column) And Abs(tData(iIdx, 5) - rCel.Row) >= 4 Then iOK = 1
                        Case 3
                            If (rCel.Row < 23 And rCel.Row Mod 4 = 2) Or (rCel.Row > 23 And rCel.Row Mod 4 = 0) Then iOK = 1
                    End Select
                End If
                If iOK = 1 Then
                    rCel.Value = tData(iIdx, 1)
                    tData(iIdx, x + 1) = ""
                    If x > 1 Then
                        tData(iIdx, IIf(x = 3, 5, 7)) = rCel.Row
                        tData(iIdx, IIf(x = 3, 6, 8)) = Cells(8, rCel.Column)
                    End If
                    Exit For
                End If
            Next

A tester et à améliorer...

A+

17planningfmiso.xlsm (48.67 Ko)

Merci beaucoup de vous être penché sur mon problème...

J'ai trouvé une solution visuelle en utilisant les MFC...

Encore merci néanmoins.

Rechercher des sujets similaires à "compatibilite plages horaires"