diff --git a/forms/interface.ui b/forms/interface.ui
index 7c54e79f3349d6ac43b200bda134e9f9d1a75221..9dfb8906e964cb16c0764e114bdf1d42489938af 100644
--- a/forms/interface.ui
+++ b/forms/interface.ui
@@ -186,35 +186,17 @@
                   <string>Number of previous 
 pattern recorded :</string>
                  </property>
-                 <property name="buddy">
-                  <cstring>recordLineEdit</cstring>
-                 </property>
                 </widget>
                </item>
                <item>
-                <widget class="QLineEdit" name="recordLineEdit">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="minimumSize">
-                  <size>
-                   <width>0</width>
-                   <height>0</height>
-                  </size>
+                <widget class="QSpinBox" name="recordSpinBox">
+                 <property name="minimum">
+                  <number>0</number>
                  </property>
-                 <property name="maximumSize">
-                  <size>
-                   <width>40</width>
-                   <height>16777215</height>
-                  </size>
-                 </property>
-                 <property name="text">
-                  <string>10</string>
+                 <property name="maximum">
+                  <number>100</number>
                  </property>
-                 <property name="maxLength">
+                 <property name="value">
                   <number>10</number>
                  </property>
                 </widget>
diff --git a/include/interface.hpp b/include/interface.hpp
index ab4e52f7197ac73d2756b988b275a844439b3098..fbfe06f0f03d92cb86770cc008aabe38af72d280 100644
--- a/include/interface.hpp
+++ b/include/interface.hpp
@@ -81,6 +81,8 @@ private slots:
 
     void on_resetButton_clicked();
 
+    void on_recordSpinBox_valueChanged(int arg1);
+
 private:
     //! \brief Initialiser la liste des transitions et voisinages disponibles
     void init_transition_neighborhood_list();
diff --git a/include/simulation.hpp b/include/simulation.hpp
index 8627f507b29960217a8d8cc7236923c0e395ed9e..03122c82adfcce548be040ea9a3e06cfb26e13d6 100644
--- a/include/simulation.hpp
+++ b/include/simulation.hpp
@@ -52,6 +52,13 @@ public:
 
 
 
+    //! \brief Modificateur de la taille de l'historique
+    //!
+    //! Vide également l'historique
+    void setHistorySize(unsigned int size) {hist = History(size);}
+
+
+
     //! \brief Définit la grille
     //!
     //! Si la simulation est lancée, cela ne modifie pas la grille de départ. Cela définit la grille de départ dans le cas contraire.
diff --git a/src/interface.cpp b/src/interface.cpp
index f43b5bc3eadd8a4baf328e345684fa2e83850da3..37fd4df5f1d751242fd26fe1595dae11f0126c6a 100644
--- a/src/interface.cpp
+++ b/src/interface.cpp
@@ -654,3 +654,7 @@ void MainWindow::on_resetButton_clicked() {
     simulation.reset();
     ui->grid_view->copy_grid(simulation.getGrid());
 }
+
+void MainWindow::on_recordSpinBox_valueChanged(int newSize) {
+    simulation.setHistorySize(newSize);
+}
diff --git a/src/simulation.cpp b/src/simulation.cpp
index 540d5455186f7d4070b32e4b15b6c21114b7549f..87916a7fa5f4b3cf324e9efbc79496e273a72149 100644
--- a/src/simulation.cpp
+++ b/src/simulation.cpp
@@ -31,7 +31,7 @@ void Simulation::setGrid(const Grid & grid) {
     if(!time) {
         startGrid = grid;
         time = 0;
-        hist = History(10);
+        hist = History(hist.get_nbMax());
     } else if((grid.get_col() != automaton.getGrid().get_col())&&(grid.get_rows() != automaton.getGrid().get_rows())) {
         return;
     }