diff --git a/ecrire/calendrier_jour.php3 b/ecrire/calendrier_jour.php3
index ef05d12e40b53294883e0eb4a523a4f18f34c406..0070a3632b728eccd1fe16fcc6209dd709e450e2 100644
--- a/ecrire/calendrier_jour.php3
+++ b/ecrire/calendrier_jour.php3
@@ -53,10 +53,12 @@ if ($jour != $jour_today OR $mois != $mois_today OR $annee != $annee_today) {
 			echo "<p />";
 }
 
-agenda ($mois-1, $annee, $jour, $mois, $annee);
 agenda ($mois, $annee, $jour, $mois, $annee);
 agenda ($mois+1, $annee, $jour, $mois, $annee);
 
+
+afficher_taches ();
+
 	// afficher en reduction le tableau du jour suivant
 	creer_colonne_droite();	
 	calendrier_jour($jour+1,$mois,$annee, false);
diff --git a/ecrire/inc_agenda.php3 b/ecrire/inc_agenda.php3
index b849d3893f7915587300175cfe46249b9aca0ff0..b6106841f49ec999b41cf3d7a8e8a8573c4177de 100644
--- a/ecrire/inc_agenda.php3
+++ b/ecrire/inc_agenda.php3
@@ -217,5 +217,76 @@ function calendrier_jour($jour,$mois,$annee,$large = true, $le_message = 0) {
 	echo "</div>";
 }
 
+function liste_rv($query, $type) {
+	global $spip_lang_rtl, $spip_lang_left;
+	
+	if ($type == annonces) {
+		$titre = _T('info_annonces_generales');
+		$couleur_titre = "yellow";
+		$couleur_texte = "black";
+		$couleur_fond = "#ffffee";
+	}
+	else if ($type == pb) {
+		$titre = _T('infos_vos_pense_bete');
+		$couleur_titre = "blue";
+		$couleur_fond = "#eeeeff";
+		$couleur_texte = "white";
+	}
+	else if ($type == rv) {
+		$titre = _T('info_vos_rendez_vous');
+		$couleur_titre = "#666666";
+		$couleur_fond = "#eeeeee";
+		$couleur_texte = "white";
+	}
+
+	$result = spip_query($query);
+	if (spip_num_rows($result) > 0){
+		echo "<p /><div style='border: 1px solid #999999; background-color: $couleur_fond; -moz-border-radius: 5px;'>";
+		echo "<div style='background-color: $couleur_titre; padding: 3px; color: $couleur_texte;'>";
+		echo "<b class='verdana1'>$titre</b>";
+		echo "</div>";
+		echo "<div style='padding: 3px;'>";
+		while ($row = spip_fetch_object($result)) {
+			if (ereg("^=([^[:space:]]+)$",$row->texte,$match))
+				$url = $match[1];
+			else
+				$url = "message.php3?id_message=".$row->id_message;
+				$type=$row->type;
+				$rv = $row->rv;
+				$date = $row->date_heure;
+
+				if ($type=="normal") $bouton = "m_envoi";
+				elseif ($type=="pb") $bouton = "m_envoi_bleu";
+				elseif ($type=="affich") $bouton = "m_envoi_jaune";
+				else $bouton = "m_envoi";
+			
+			$titre = typo($row->titre);
+
+			echo "<div style='margin: 5px; padding-$spip_lang_left: 20px; background: url(img_pack/$bouton$spip_lang_rtl.gif) $spip_lang_left center no-repeat;'>";
+			if ($rv == "oui") {
+				echo "<b class='arial0'>".affdate_court($date)."</b><br />";
+			}
+			echo "<b><a href='$url' class='arial1'>$titre</a></b>";
+			echo "</div>\n";
+		}
+		echo "</div>";
+		
+		echo "</div>";
+	}
+}
+
+function afficher_taches () {
+	global $connect_id_auteur;
+	$query = "SELECT * FROM spip_messages WHERE type = 'affich' AND rv != 'oui' AND statut = 'publie' ORDER BY date_heure DESC";
+	liste_rv($query, "annonces");
+
+	$query = "SELECT * FROM spip_messages AS messages WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND rv!='oui'";
+	liste_rv($query, "pb");
+
+	$query = "SELECT messages.* FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE ((lien.id_auteur='$connect_id_auteur' AND lien.id_message=messages.id_message) OR messages.type='affich') AND messages.rv='oui' AND messages.date_heure > DATE_SUB(NOW(), INTERVAL 1 DAY) AND messages.date_heure < DATE_ADD(NOW(), INTERVAL 1 MONTH) AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure";
+	liste_rv($query, "rv");
+
+}
+
 
 ?>
diff --git a/ecrire/index.php3 b/ecrire/index.php3
index 7d1030141e10f8c4dcc20568f239ee0d017467bd..1bf9d1d12f7403d8f82b0afe988208210a30e955 100644
--- a/ecrire/index.php3
+++ b/ecrire/index.php3
@@ -110,31 +110,10 @@ fin_cadre_relief();
 //
 // Annonces
 //
-$query = "SELECT * FROM spip_messages WHERE type = 'affich' AND rv != 'oui' AND statut = 'publie' ORDER BY date_heure DESC";
-$result = spip_query($query);
-
-if (spip_num_rows($result) > 0){
-	echo "<div style='border: 1px solid #999999; background-color: #ffffee; -moz-border-radius: 5px;'>";
-	echo "<font face='Verdana,Arial,Sans,sans-serif' size='1'>";
-	echo "<div style='background-color: yellow; padding: 3px;'>";
-	echo "<b>"._T('info_annonces_generales')."</b>";
-	echo "</div>";
-	echo "<div style='padding: 5px;'>";
-	while ($row = spip_fetch_object($result)) {
-		if (ereg("^=([^[:space:]]+)$",$row->texte,$match))
-			$url = $match[1];
-		else
-			$url = "message.php3?id_message=".$row->id_message;
-		$titre = typo($row->titre);
-		echo "<div style='padding: 2px;'><img src='img_pack/m_envoi_jaune$spip_lang_rtl.gif' border=0> <a href='$url'>$titre</a></div>\n";
-	}
-	echo "</div>";
-	echo "</font>";
-	
-	echo "</div>";
+if (lire_meta('activer_messagerie') != 'non') {
+	include_ecrire("inc_agenda.php3");
+	afficher_taches();
 }
-
-
 debut_raccourcis();
 
 
@@ -204,6 +183,7 @@ if (lire_meta('activer_messagerie') != 'non' AND $connect_activer_messagerie !=
 	$date = date("Y-m-d", mktime(0,0,0,$mois_today, 1, $annee_today));
 	$mois = mois($date);
 	$annee = annee($date);
+	$jour = jour($date);
 
 	// rendez-vous personnels dans le mois
 	$result_messages = spip_query("SELECT messages.id_message FROM spip_messages AS messages, spip_auteurs_messages AS lien ".
@@ -212,9 +192,17 @@ if (lire_meta('activer_messagerie') != 'non' AND $connect_activer_messagerie !=
 			"AND messages.statut='publie' LIMIT 0,1");
 	if (spip_num_rows($result_messages)) {
 		echo "<p />";
-		include_ecrire("inc_agenda.php3");
 		agenda ($mois_today, $annee_today, $jour_today, $mois_today, $annee_today);
 	}
+	// rendez-vous personnels dans le mois
+	$result_messages = spip_query("SELECT messages.id_message FROM spip_messages AS messages, spip_auteurs_messages AS lien ".
+			"WHERE ((lien.id_auteur='$connect_id_auteur' AND lien.id_message=messages.id_message) OR messages.type='affich') ".
+			"AND messages.rv='oui' AND messages.date_heure >='$annee_today-$mois_today-$jour_today' AND messages.date_heure < DATE_ADD('$annee_today-$mois_today-$jour_today', INTERVAL 1 DAY) ".
+			"AND messages.statut='publie' LIMIT 0,1");
+	if (spip_num_rows($result_messages)) {
+		echo "<p />";
+		calendrier_jour($jour_today,$mois_today,$annee_today, false);
+	}
 }
 
 debut_droite();
diff --git a/ecrire/message.php3 b/ecrire/message.php3
index 45ef067394d896263d04612032d47a9bb0b29299..5134c12189d30e8b58cf9aca59770de65633358a 100644
--- a/ecrire/message.php3
+++ b/ecrire/message.php3
@@ -143,11 +143,12 @@ while($row = spip_fetch_array($result_message)) {
 	
 	if ($rv == 'oui') agenda ($lemois, $lannee, $lejour, $lemois, $lannee);
 	
+	afficher_taches();
 	
-		
-	creer_colonne_droite();	
-	calendrier_jour($lejour,$lemois,$lannee, false, $id_message);
-	
+	if ($rv == "oui") {
+		creer_colonne_droite();	
+		calendrier_jour($lejour,$lemois,$lannee, false, $id_message);
+	}
 	
 	debut_droite();
 
diff --git a/ecrire/messagerie.php3 b/ecrire/messagerie.php3
index 6719daefaecf4f6c59953c8eef492080ab6d10be..7074115178e3b67f9e79b9a2ca806dc203f37825 100644
--- a/ecrire/messagerie.php3
+++ b/ecrire/messagerie.php3
@@ -61,7 +61,7 @@ function afficher_messages($titre_table, $query_message, $afficher_auteurs = tru
 	if ($tranches OR $obligatoire) {
 		if ($important) debut_cadre_relief();
 
-		echo "<P><TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0><TR><TD WIDTH=100% BACKGROUND=''>";
+		echo "<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0><TR><TD WIDTH=100% BACKGROUND=''>";
 		echo "<TABLE WIDTH=100% CELLPADDING=3 CELLSPACING=0 BORDER=0>";
 
 		bandeau_titre_boite($titre_table, $afficher_auteurs, $boite_importante);