diff --git a/app/Widgets/FilterEditor.cpp b/app/Widgets/FilterEditor.cpp
index 97e00b6d9e6b065c2628ab2de62d6ef82b47fe07..6413a6012f97162d8fcacc65b3804f50b33fa8da 100644
--- a/app/Widgets/FilterEditor.cpp
+++ b/app/Widgets/FilterEditor.cpp
@@ -169,7 +169,13 @@ void FilterEditor::save()
     return;
   }
   //condition regex sur le format du fichier .xml
-  // if(...
+  if(!regex_match(_linePath->text().toStdString(),regex("(.*).xml$"))){
+    QMessageBox msgBox(QMessageBox::Critical, tr("Error!"), tr("Your file needs .xml format."));
+    msgBox.setStandardButtons(QMessageBox::Ok);
+    msgBox.setDefaultButton(QMessageBox::Ok);
+    msgBox.exec();
+    return;
+  }
 
 
   bool ok;
diff --git a/app/Widgets/FilterEditorItem.cpp b/app/Widgets/FilterEditorItem.cpp
index 1e8f18f5ba762e8d6d873ad6801a3715b8a88450..5cbf5bbc35d1c7be0fdcc45b2cfa51c84a0c275b 100644
--- a/app/Widgets/FilterEditorItem.cpp
+++ b/app/Widgets/FilterEditorItem.cpp
@@ -96,23 +96,35 @@ void FilterEditorItem::initUI()
 
 void FilterEditorItem::widthChanged(const int width)
 {
-  if(_width < width)
-    emit(insertColumn(width-_width));
-  else
-    emit(removeColumn(_width-width));
-    
-  _width = width;
+  if(_width < width){
+      while(_width!=width){
+          emit(insertColumn(width-_width));
+          _width++;
+      }
+  }
+  else{
+      while(_width!=width){
+          emit(removeColumn(_width-width));
+          _width--;
+      }
+   }
   _filter->resizeColumnsToContents();
 }
 
 void FilterEditorItem::heightChanged(const int height)
 {
-  if(_height < height)
-    emit(insertRow(height-_height));
-  else
-    emit(removeRow(_height-height));
-  
-  _height = height;
+    if(_height < height){
+        while(_height!=height){
+            emit(insertRow(height-_height));
+            _height++;
+        }
+    }
+    else{
+        while(_height!=height){
+            emit(removeRow(_height-height));
+            _height--;
+        }
+     }
   _filter->resizeRowsToContents();
 }