diff --git a/shukan/ShukanData.java b/shukan/ShukanData.java
index 709dea3177f6c947368d5dc446382dc1bed0565d..b3410da10ced313a1d3780fc17d305c7fbf841b1 100644
--- a/shukan/ShukanData.java
+++ b/shukan/ShukanData.java
@@ -681,27 +681,6 @@ public class ShukanData
       this.mod[selCur][selMod].exchange (selAct, selAct + selLength - 1);
   }
 
-  /** test if a week is active for a module */
-  public boolean isActiveWeek(int week, int mod){
-    int debut = moduleStart(cursusNumber(), mod);
-    if (week>=debut && (week<=moduleEnd(cursusNumber(), mod) || moduleEnd(cursusNumber(), mod)==0))
-    {
-      int[] holly_weeks = moduleHollyWeeks(cursusNumber(), mod);
-      int[] week_durations = weekDurations();
-      // periode d'indisponibilité
-      for (int i =0; i<holly_weeks.length; i++) {
-        if (week == holly_weeks[i]) return false;
-      }
-      // hollydays
-      if (debut == 0) { if (week_durations[week-debut-4]==0) return false; }
-      else { if (week_durations[week-debut]==0) return false; }
-
-      return true;
-    }
-    // avant début de module ou après fin de module
-    return false;
-  }
-
   /** convert a number of activity into a String */
   public String activityName(int number){
     return mod[selCur][selectedModule()].activityName(number);
diff --git a/shukan/ShukanView.java b/shukan/ShukanView.java
index d2c3e3b9647179786157d93dd19026b8c8f92d94..0a24a1b5010bcd9a0f5c85ea2a6d14d4ce358101 100644
--- a/shukan/ShukanView.java
+++ b/shukan/ShukanView.java
@@ -377,13 +377,13 @@ public class ShukanView extends JPanel
     int num_module = data.selectedModule();
     int num_cursus = data.cursusNumber();
     int num_semaine = data.selectedWeek()+data.startWeekNumber();
-
+    int[] week_activities = data.scheduleInWeek(num_module, data.selectedWeek());
     // affiche la fenetre si il y a cours pendant cette periode
-    if(data.isActiveWeek(num_semaine, num_module))
+    if(week_activities.length>0)
     {
       JFrame spec = new JFrame(data.cursusName(num_cursus) + " - Semaine" + (num_semaine) + " - " + data.moduleNames(num_cursus)[num_module]);
 
-      int[] week_activities = data.scheduleInWeek(num_module, data.selectedWeek());
+
       int[] activities = data.activities(num_module);
       int nb_cours = week_activities.length;
       boolean rajout_prof = false;
@@ -392,19 +392,22 @@ public class ShukanView extends JPanel
       JLabel[] noms_cours = new JLabel[nb_cours];
       JLabel[] duree = new JLabel[nb_cours];
       JLabel[] profs = new JLabel[nb_cours];
+      String nom_profs;
       for (int i =0; i<nb_cours; i++)
       {
         String[] teachers = data.moduleTeachers(num_cursus, num_module, activities[week_activities[i]]);
-        String nom_profs = teachers[0];
-        for (int j = 1; j<teachers.length; j++)
-        {
-          rajout_prof = true;
-          for (int k = 0; k<j; k++){
-            if (teachers[j]==teachers[k]) rajout_prof = false;
+        if (teachers.length>0){
+          nom_profs = teachers[0];
+          for (int j = 1; j < teachers.length; j++) {
+            rajout_prof = true;
+            for (int k = 0; k < j; k++) {
+              if (teachers[j] == teachers[k]) rajout_prof = false;
+            }
+            if (rajout_prof) nom_profs += " / " + teachers[j];
           }
-          if (rajout_prof) nom_profs+=" / "+teachers[j];
         }
-        System.out.println();
+        else nom_profs = data.subtitle(num_module);
+
         noms_cours[i] =  new JLabel("Cours : "+data.activityName(activities[week_activities[i]]));
         noms_cours[i].setFont(new Font(noms_cours[i].getFont().getFamily(), noms_cours[i].getFont().getStyle()+Font.BOLD, noms_cours[i].getFont().getSize()+10));
         duree[i] = new JLabel("   Durée : "+data.activityDuration(activities[week_activities[i]])+"h");