diff --git a/app/controller.cpp b/app/controller.cpp
index 57d32c3e684cccc4e3355079e1f0cb7bf21fa7ce..5ab495522017a66855bce223d30bb5ddee14fedd 100644
--- a/app/controller.cpp
+++ b/app/controller.cpp
@@ -4,7 +4,7 @@
 Controller::Controller(MainWindow *window) : eltCollection(), genStatus(), main(window)
 {
     eltCollection.insertColumns(0,8);
-    main->update_tasks(&eltCollection);
+    main->set_task(&eltCollection);
     QTimer *timer = new QTimer();
     timer->connect(timer, SIGNAL(timeout()), this , SLOT(update()));
     timer->start(5000);
@@ -14,6 +14,7 @@ Controller::Controller(MainWindow *window) : eltCollection(), genStatus(), main(
 void Controller::update(){
     //qDebug() << "timer lancé";
     eltCollection.update();
+    main->update_tasks();
     genStatus.update();
     main->update_status(genStatus);
     //eltCollection.update();
diff --git a/app/elementslistmodel.cpp b/app/elementslistmodel.cpp
index 0c31916e18e7738344b0ad00fba3fad92e51f347..1e8d66626d6dd004fe73b8e219389d389dd77d9d 100644
--- a/app/elementslistmodel.cpp
+++ b/app/elementslistmodel.cpp
@@ -32,7 +32,7 @@ QVariant ElementsListModel::data(const QModelIndex &index, int role) const
     if (role == Qt::DisplayRole){
         //Task t = QVariant::fromValue<Task>(taskVector.at(index.row()));
         //QString s = QString::number(taskVector.at(index.row()).getPID()) + "\t" + QString::number( taskVector.at(index.row()).getCPU() );
-        return QVariant(taskVector.at(index.row()).print());
+        //return QVariant(taskVector.at(index.row()).print());
 
     }
 
diff --git a/app/elementstablemodel.cpp b/app/elementstablemodel.cpp
index 4f55f7b689964e2f402fb897231758a134e99e78..b3519fcdff3533cc61096a3de7c267b4bf98d53c 100644
--- a/app/elementstablemodel.cpp
+++ b/app/elementstablemodel.cpp
@@ -191,10 +191,14 @@ void ElementsTableModel::writeCSV(QFile file)
     {
         QTextStream stream( &file );
         stream << "PID , name , status , PPID , user , CPU , memory , uptime" << endl;
-        for (taskMap::const_iterator it = cbegin() ; taskMap.cend() ; ++it)
-        {
-            stream << it.print(" , ") << endl;
+        foreach (Task t, taskMap) {
+            stream << t.print(" , ") << endl;
         }
+
+        //for (QMap<int, Task>::const_iterator it = taskMap.cbegin() ; taskMap.cend() ; ++it)
+        //{
+        //    stream << it.print(" , ") << endl;
+        //}
     }
 }
 
diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp
index 7cf0fa49c72edddfdaf2fbe1a5c77ca3386d471d..66281b1cac0ab144e857d3e81779578141c517ca 100644
--- a/app/mainwindow.cpp
+++ b/app/mainwindow.cpp
@@ -52,11 +52,16 @@ void MainWindow::update_status(GeneralStatus &genStatus)
 
 }
 
-void MainWindow::update_tasks(ElementsTableModel * eltCollection)
+void MainWindow::set_task(ElementsTableModel * eltCollection)
 {
     ui->tableView->setModel(eltCollection);
 }
 
+void MainWindow::update_tasks()
+{
+    ui->tableView->update();
+}
+
 void MainWindow::on_comboBox_currentTextChanged(const QString &arg1)
 {
     if (arg1 == "Tree"){
diff --git a/app/mainwindow.h b/app/mainwindow.h
index 2c59fcb2bac991439bac7fbc57cd4b45b677e66d..6e79b220ee52f4bf0be36fdb800e356b77c20969 100644
--- a/app/mainwindow.h
+++ b/app/mainwindow.h
@@ -21,7 +21,8 @@ public:
     explicit MainWindow(QWidget *parent = 0);
     ~MainWindow();
     void update_status(GeneralStatus &genStatus);
-    void update_tasks(ElementsTableModel* eltCollection);
+    void set_task(ElementsTableModel * eltCollection);
+    void update_tasks();
 
 private slots:
     void on_comboBox_currentTextChanged(const QString &arg1);
diff --git a/app/task.h b/app/task.h
index cb3a1a9ee6a4bb2cce6058ad4eafb45fd9c8015b..6db14cb60928d6cf47e39154bfd4f7f550f73f00 100644
--- a/app/task.h
+++ b/app/task.h
@@ -28,7 +28,7 @@ public:
     int getPPID() const;
     QString getUser() const;
 
-    QString print(QSTring) const;
+    QString print(QString) const;
 
     Task & operator=(const Task &);
     //bool operator ==(int pid);