diff --git a/src/components/Consents/Consents.tsx b/src/components/Consents/Consents.tsx
index e2cd8fbfb45e1d7307cbd52d58ccdbcc17a08bb6..41887dc4186a1351c95ac327245db31e0a0e6d84 100644
--- a/src/components/Consents/Consents.tsx
+++ b/src/components/Consents/Consents.tsx
@@ -166,6 +166,26 @@ export const Consents: React.FC<{ type: 'sge' | 'grdf' }> = ({ type }) => {
     resetSelection()
   }, [gridApi, resetSelection])
 
+  const exportAllData = useCallback(() => {
+    const fetchAllData = async () => {
+      setIsLoading(true)
+      if (user) {
+        const allConsents = await consentService.searchConsents(
+          '',
+          totalRows,
+          0,
+          getAxiosXSRFHeader(user.xsrftoken)
+        )
+        if (allConsents) {
+          setConsents(allConsents.rows)
+          toggleOpenModal()
+        }
+      }
+      setIsLoading(false)
+    }
+    fetchAllData()
+  }, [user, totalRows, consentService, toggleOpenModal])
+
   const onGridReady = ({ api }: GridReadyEvent) => {
     //Grid init method
     setGridApi(api)
@@ -196,16 +216,19 @@ export const Consents: React.FC<{ type: 'sge' | 'grdf' }> = ({ type }) => {
         <h1>Consentements {isGRDF ? 'GRDF' : 'Enedis'}</h1>
       </div>
       <div className={styles.content}>
-        <TextField
-          placeholder={`N°${isGRDF ? 'PCE' : 'PDL'} (14 chiffres)`}
-          label="Recherche"
-          value={search}
-          onChange={(e: React.ChangeEvent<HTMLInputElement>) =>
-            handleSearchChange(e.target.value)
-          }
-          disabled={isShowingSelection}
-          autoComplete="off"
-        />
+        <div className={styles.inlineButtons}>
+          <TextField
+            placeholder={`N°${isGRDF ? 'PCE' : 'PDL'} (14 chiffres)`}
+            label="Recherche"
+            value={search}
+            onChange={(e: React.ChangeEvent<HTMLInputElement>) =>
+              handleSearchChange(e.target.value)
+            }
+            disabled={isShowingSelection}
+            autoComplete="off"
+          />
+          <Button onClick={exportAllData}>Tout télécharger</Button>
+        </div>
         <div
           className="ag-theme-alpine-dark"
           style={{ width: '100%', height: '75vh' }}
diff --git a/src/components/Consents/consents.module.scss b/src/components/Consents/consents.module.scss
index 188960e5307e9f2a86ea466bf3ef69cfb4e85e98..a7f5120678bd9646baa67ef418805f8a144414d4 100644
--- a/src/components/Consents/consents.module.scss
+++ b/src/components/Consents/consents.module.scss
@@ -6,6 +6,12 @@
   padding: 1rem;
 }
 
+.inlineButtons {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
 .footerButtons {
   padding: 1rem 0;
   display: flex;