diff --git a/ChangeLog b/ChangeLog
index 6b3616e0d46ab34aaca933975c7ca55a72d4f701..c5aeb5874b39e26858b487598aadb93c4e48c9a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@ English Dolibarr ChangeLog
 
 ***** ChangeLog for 3.7 compared to 3.6.* *****
 For users:
+- New: Agenda export by project #1967.
 - New: Increase length of thirdparty to 128 chars.
 - New: "Is Order shippable" icon #1975.
 - New: statistics on supplier orders and invoices on home page.
diff --git a/htdocs/admin/agenda_xcal.php b/htdocs/admin/agenda_xcal.php
index d5b296b493208886431aaee8761230e3afb5f4de..40454ed1302759e95942a891340a3062f6b76c50 100644
--- a/htdocs/admin/agenda_xcal.php
+++ b/htdocs/admin/agenda_xcal.php
@@ -174,6 +174,8 @@ $message=$langs->trans("AgendaUrlOptions1",$user->login,$user->login).'<br>';
 $message.=$langs->trans("AgendaUrlOptions2",$user->login,$user->login).'<br>';
 $message.=$langs->trans("AgendaUrlOptions3",$user->login,$user->login).'<br>';
 $message.=$langs->trans("AgendaUrlOptions4",$user->login,$user->login).'<br>';
+$message.=$langs->trans("AgendaUrlOptionsProject",$user->login,$user->login);
+
 print info_admin($message);
 
 if (! empty($conf->use_javascript_ajax))
diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php
index b31f686c9fe6e502d22b2417027abaef6786fad1..b4a5fdeed60821fee2494a51439d7ca8f06623a8 100644
--- a/htdocs/comm/action/class/actioncomm.class.php
+++ b/htdocs/comm/action/class/actioncomm.class.php
@@ -987,6 +987,7 @@ class ActionComm extends CommonObject
                 if ($key == 'id')           $sql.=" AND a.id=".(is_numeric($value)?$value:0);
                 if ($key == 'idfrom')       $sql.=" AND a.id >= ".(is_numeric($value)?$value:0);
                 if ($key == 'idto')         $sql.=" AND a.id <= ".(is_numeric($value)?$value:0);
+                if ($key == 'project')      $sql.=" AND a.fk_project=".(is_numeric($value)?$value:0);
                 if ($key == 'login')
                 {
                     $login=$value;
diff --git a/htdocs/langs/en_US/agenda.lang b/htdocs/langs/en_US/agenda.lang
index 84383b46f1fbcd0171638ec78cfc89a3cbafd920..e1ca9d2a5c3066272fea0987ebc2760e43259ee6 100644
--- a/htdocs/langs/en_US/agenda.lang
+++ b/htdocs/langs/en_US/agenda.lang
@@ -70,9 +70,9 @@ DateActionStart= Start date
 DateActionEnd= End date
 AgendaUrlOptions1=You can also add following parameters to filter output:
 AgendaUrlOptions2=<b>login=%s</b> to restrict output to actions created by, assigned to or done by user <b>%s</b>.
-AgendaUrlOptions3=<b>logina=%s</b> to restrict output to actions created by user <b>%s</b>.
+AgendaUrlOptions3=<b>logina=%s</b> to restrict output to actions owned by a user <b>%s</b>.
 AgendaUrlOptions4=<b>logint=%s</b> to restrict output to actions assigned to user <b>%s</b>.
-AgendaUrlOptions5=<b>logind=%s</b> to restrict output to actions done by user <b>%s</b>.
+AgendaUrlOptionsProject=<b>project=PROJECT_ID</b> to restrict output to actions associated to project <b>PROJECT_ID</b>.
 AgendaShowBirthdayEvents=Show birthday's contacts
 AgendaHideBirthdayEvents=Hide birthday's contacts
 Busy=Busy
@@ -90,4 +90,4 @@ ExtSiteNoLabel=No Description
 WorkingTimeRange=Working time range
 WorkingDaysRange=Working days range
 AddEvent=Create event
-MyAvailability=My availability
\ No newline at end of file
+MyAvailability=My availability
diff --git a/htdocs/langs/fr_FR/agenda.lang b/htdocs/langs/fr_FR/agenda.lang
index bf7386a448c2b4b1b5c30ff740ffc55fa7e9169b..2e765e5e76570f7abf1ce42997b48d37d9299cf1 100644
--- a/htdocs/langs/fr_FR/agenda.lang
+++ b/htdocs/langs/fr_FR/agenda.lang
@@ -73,6 +73,7 @@ AgendaUrlOptions2=<b>login=%s</b> pour limiter l'export aux actions créées, af
 AgendaUrlOptions3=<b>logina=%s</b> pour limiter l'export aux actions créées par l'utilisateur <b>%s</b>.
 AgendaUrlOptions4=<b>logint=%s</b> pour limiter l'export aux actions affectées à l'utilisateur <b>%s</b>.
 AgendaUrlOptions5=<b>logind=%s</b> pour limiter l'export aux actions réalisées par l'utilisateur <b>%s</b>.
+AgendaUrlOptionsProject=<b>project=PROJECT_ID</b> pour limiter l'export aux actions associées au projet dont l'identifiant est <b>PROJECT_ID</b>.
 AgendaShowBirthdayEvents=Afficher l'anniversaire des contacts
 AgendaHideBirthdayEvents=Cacher l'anniversaire des contacts
 Busy=Occupé
diff --git a/htdocs/public/agenda/agendaexport.php b/htdocs/public/agenda/agendaexport.php
index 3443f08788fa831ed7358646e62e7b3529a4f44c..c36766e2777900bb83bb70eebd76d5eccec38b22 100644
--- a/htdocs/public/agenda/agendaexport.php
+++ b/htdocs/public/agenda/agendaexport.php
@@ -65,6 +65,7 @@ if (! empty($_GET["year"])) 	$filters['year']=$_GET["year"];
 if (! empty($_GET["id"]))       $filters['id']=$_GET["id"];
 if (! empty($_GET["idfrom"]))   $filters['idfrom']=$_GET["idfrom"];
 if (! empty($_GET["idto"]))     $filters['idto']=$_GET["idto"];
+if (! empty($_GET["project"]))  $filters['project']=$_GET["project"];
 if (! empty($_GET["login"]))    $filters['login']=$_GET["login"];
 if (! empty($_GET["logina"]))   $filters['logina']=$_GET["logina"];
 if (! empty($_GET["logint"]))   $filters['logint']=$_GET["logint"];
@@ -107,6 +108,7 @@ foreach ($filters as $key => $value)
     if ($key == 'id')              $filename.='-id'.$value;
     if ($key == 'idfrom')          $filename.='-idfrom'.$value;
     if ($key == 'idto')            $filename.='-idto'.$value;
+    if ($key == 'project')         $filename.='-project'.$value;
     if ($key == 'login')	       $filename.='-login'.$value;
 	if ($key == 'logina')	       $filename.='-logina'.$value;	// Author
 	if ($key == 'logind')	       $filename.='-logind'.$value;	// Affected to