diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index 47b6cd22b61da5468d38674166a45ec6a23e5ee2..4ce865db72b513fb371b577034cf67677894c8c2 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -440,7 +440,20 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
         else:
             self._study.filename = file_name + ".pamhyr"
 
-        self._study.save()
+        sql_request_count = self._study.sql_save_request_count()
+        progress = QProgressDialog(
+            "Saving...", None,
+            0, sql_request_count,
+            parent=self
+        )
+        progress.setWindowModality(Qt.WindowModal)
+        progress.setValue(0)
+
+        logger.info("Save...")
+        self._study.save(
+            progress=lambda: progress.setValue(progress.value() + 1)
+        )
+        logger.info("Done")
 
     ##################
     # MSG AND DIALOG #