diff --git a/musique/exercice.py b/musique/exercice.py
index 3e20099ba419db28afa02b182e4c1bfca5b37020..d10f6c30d313d38842026c9580d8d83d509f25fb 100644
--- a/musique/exercice.py
+++ b/musique/exercice.py
@@ -235,10 +235,12 @@ class GenerateurExercice(GammeTemperee):
         
         result = "\\renewcommand{\\arraystretch}{1.3}"
         result += "\\begin{table}[H]\n\centering\n"
-        result += "\\begin{tabular}{|c||c|c|}\n"
+        if len(partition) > 30:
+          result += "{\\footnotesize \n"
+        result += "\\begin{tabular}{|c||c|c|c|}\n"
         result += "\\hline\n"
-        result += " & \multicolumn{2}{c|}{Codage} \\\\ \n"
-        result += " &\qquad\\textbf{Note}\qquad~ & \qquad\\textbf{Durée}\qquad~ \\\\ \n"
+        result += " & \multicolumn{2}{c|}{Codage} & Représentation \\\\ \n"
+        result += " &\qquad\\textbf{Note}\qquad~ & \qquad\\textbf{Durée}\qquad~ & \\textbf{Graphique}  \\\\ \n"
         result += "\\hline \n"
         for i, note in enumerate(partition):
           result += str(i + 1) + " & "
@@ -246,20 +248,22 @@ class GenerateurExercice(GammeTemperee):
             if isinstance(note[0], float):
               if note[0] > 0:
                 result += self.frequenceToLaTeX(note[0], 
-                                                self.minOctave, self.maxOctave) +  "& " + self.nomDuree(note[1]) + " \\\\\n"
+                                                self.minOctave, self.maxOctave) +  "& " + self.nomDuree(note[1]) + " & \\\\\n"
                 result += "\\hline\n"
               else:
-                result += " & " + self.nomDuree(note[1]) + " \\\\\n"
+                result += " & " + self.nomDuree(note[1]) + " & \\\\\n"
                 result += "\\hline\n"
             else:
-              result += " & " + ', '.join([self.frequenceToLaTeX(n) for n in note[0]]) + " & " + self.nomDuree(note[1]) + " \\\\\n"
+              result += " & " + ', '.join([self.frequenceToLaTeX(n) for n in note[0]]) + " & " + self.nomDuree(note[1]) + " & \\\\\n"
               result += "\\hline\n"
           else:
-            result +=  " &  \\\\\n"
+            result +=  " &  & \\\\\n"
             result += "\\hline\n"
         if solution:
           result += "\\hline\n"
         result += "\\end{tabular}\n"
+        if len(partition) > 30:
+          result += "}\n"
         if solution:
           result += "\\caption{Tableau des notes de la partition (solution)}\n"
         else:
@@ -289,6 +293,9 @@ class GenerateurExercice(GammeTemperee):
       result += "\\end{tabular}\n"
       result += "\\caption{Table des fréquences de la gamme tempérée}\n"
       result += "\\end{table}\n"
+      
+      if self.contientSilences(partitions):
+        result += "Attention, la partition peut également contenir des silences, dont on peut mesurer la longueur, comme les notes"
       return result
         
     # retourne la translation d'octave nécessaire pour jouer avec
@@ -344,7 +351,7 @@ class GenerateurExercice(GammeTemperee):
     
     def pointColore(self, boomwhacker, x, y, r):
       result = self.couleurBoomwhackerToTikz(boomwhacker)
-      rayon = r * 1.2 if boomwhacker["court"] == "0" else r
+      rayon = r * 1.3 if boomwhacker["court"] == "0" else r
       result += "\\fill[fill=tempcolor] ("+ \
                 str(x) + "," +  str(y) + ") circle (" + str(rayon) + ");"
       if "alteration" in boomwhacker:
diff --git a/musique/gamme.py b/musique/gamme.py
index 86f47e5547fe5b497dcb470cdfb3cb577d548619..41495372d05317cea4167a9434a0554feeb6c6d7 100644
--- a/musique/gamme.py
+++ b/musique/gamme.py
@@ -206,6 +206,10 @@ class GammeTemperee:
     def notesDansPartition(self, partitions):
       l = [[ [x] if isinstance(x, float) else x for x in [note[0] if not isinstance(note[0], float) else note[0] for note in partition]] for partition in partitions]
       return [x for x in sum(sum(l, []), []) if x != 0]
+    
+    def contientSilences(self, partitions):
+      l = [[ [x] if isinstance(x, float) else x for x in [note[0] if not isinstance(note[0], float) else note[0] for note in partition]] for partition in partitions]
+      return len([x for x in sum(sum(l, []), []) if x == 0]) != 0
       
 
     # retourne la fréquence minimum utilisée dans les partitions