diff --git a/ecrire/inc_calendrier.php b/ecrire/inc_calendrier.php
index 4724b4f937bc3d6f16a0acb803f2f649100ee3fb..672b4b10a0aa8465dd148b2ae62551b8d1fc9e68 100644
--- a/ecrire/inc_calendrier.php
+++ b/ecrire/inc_calendrier.php
@@ -80,7 +80,8 @@ function http_calendrier_ics($evenements, $amj = "")
 						"</span>";
 
 				} else {
-				  if ($desc) $sum .= " <span class='verdana1'>$desc</span>"; }
+				  if ($desc) $sum .= " <span class='verdana1'>$desc</span>"; 
+				}
 				if ($deb_h >0 OR $deb_m > 0) {
 					if ((($deb_h > 0) OR ($deb_m > 0)) AND $amj == $jour_debut)
 						{ $deb = '<b>' . $deb_h . ':' . $deb_m . '</b> ';}
@@ -887,7 +888,7 @@ function http_calendrier_jour_ics($debut, $fin, $largeur, $detcolor, $echelle, $
 	if ($echelle==0) $echelle = DEFAUT_D_ECHELLE;
 
 
-list($dimheure, $dimjour, $fontsize, $padding) = calendrier_echelle($debut, $fin, $echelle);		$modif_decalage = round($largeur/8);
+	list($dimheure, $dimjour, $fontsize, $padding) = calendrier_echelle($debut, $fin, $echelle);		$modif_decalage = round($largeur/8);
 
 	$total = '';
 
@@ -1148,26 +1149,26 @@ function http_calendrier_jour($jour,$mois,$annee,$large = "large", $le_message =
 	    "</b></div>";
 	}
 	else {
-	  if ($large == "large") 
-	    $entete = "<div align='center' style='padding: 5px;'>" .
-	      http_calendrier_href("message_edit.php3?rv=$annee-$mois-$jour&new=oui&type=pb",
-				   $bleu ._T("lien_nouvea_pense_bete"),
-				   '',
-				   'font-family: Arial, Sans, sans-serif; font-size: 10px; color: blue;') .
-	      " &nbsp; " .
-	      http_calendrier_href("message_edit.php3?rv=$annee-$mois-$jour&new=oui&type=normal",
-				   $vert ._T("lien_nouveau_message"),
-				   '',
-				   'font-family: Arial, Sans, sans-serif; font-size: 10px; color: green;') .
-	      (!($GLOBALS['connect_statut'] == "0minirezo") ? '' :
-	       (" &nbsp; " .
-		http_calendrier_href("message_edit.php3?rv=$annee-$mois-$jour&new=oui&type=affich",
-				   $jaune ._T("lien_nouvelle_annonce"),
-				   '',
-				     'font-family: Arial, Sans, sans-serif; font-size: 10px; color: #ff9900;'))) .
-	      "</div>\n";
-	  else
-	    $entete = '';
+		if ($large == "large") 
+			$entete = "<div align='center' style='padding: 5px;'>" .
+			http_calendrier_href("message_edit.php3?rv=$annee-$mois-$jour&new=oui&type=pb",
+				$bleu ._T("lien_nouvea_pense_bete"),
+				'',
+				'font-family: Arial, Sans, sans-serif; font-size: 10px; color: blue;') .
+			" &nbsp; " .
+			http_calendrier_href("message_edit.php3?rv=$annee-$mois-$jour&new=oui&type=normal",
+				$vert ._T("lien_nouveau_message"),
+				'',
+				'font-family: Arial, Sans, sans-serif; font-size: 10px; color: green;') .
+			(!($GLOBALS['connect_statut'] == "0minirezo") ? '' :
+				(" &nbsp; " .
+				http_calendrier_href("message_edit.php3?rv=$annee-$mois-$jour&new=oui&type=affich",
+					$jaune ._T("lien_nouvelle_annonce"),
+					'',
+					'font-family: Arial, Sans, sans-serif; font-size: 10px; color: #ff9900;'))) .
+			"</div>\n";
+		else
+			$entete = '';
 	}
 
 	list($articles, $breves, $messages) =
@@ -1178,7 +1179,7 @@ function http_calendrier_jour($jour,$mois,$annee,$large = "large", $le_message =
 	if ($large == "large") {
 		$largeur = 300;
 	} else if ($large == "col") {
-		$largeur = 120;
+		$largeur = 90;
 	} else {
 		$largeur = 50;
 	}
@@ -1188,17 +1189,16 @@ function http_calendrier_jour($jour,$mois,$annee,$large = "large", $le_message =
 	// faute de fermeture en PHP...
 	$calendrier_message_fermeture = $le_message;
 
-	return
-	  $entete .
-    "\n<div style='position: relative; color: #666666; " .
-    "height: ${dimjour}px; " .
-    "font-family: Arial, Sans, sans-serif; font-size: ${fontsize}px;".
-	  ' border-left: 1px solid #aaaaaa; border-right: 1px solid #aaaaaa; border-bottom: 1px solid #aaaaaa; border-top: 1px solid #aaaaaa;' .
-    "'>" .
+	return $entete .
+		"\n<div style='position: relative; color: #666666; " .
+		"height: ${dimjour}px; " .
+		"font-family: Arial, Sans, sans-serif; font-size: ${fontsize}px;".
+		' border-left: 1px solid #aaaaaa; border-right: 1px solid #aaaaaa; border-bottom: 1px solid #aaaaaa; border-top: 1px solid #aaaaaa;' .
+		"'>" .
 	  ((!($articles[$j] OR $breves[$j])) ? '' :
 	   http_calendrier_articles_et_breves($articles[$j], $breves[$j],
-				      "position: absolute; $spip_lang_left: "
-				      . ($largeur - $padding) .
+				      "position: absolute; z-index: 2; $spip_lang_left: "
+				      . ($largeur - $padding + 35) .
 				      "px; top: 0px;")) .
 	  http_calendrier_jour_ics($debut_cal,$fin_cal,$largeur, 'http_calendrier_message',
 				   $echelle,
@@ -1433,6 +1433,7 @@ ORDER BY messages.date_heure
 		$date_fin=$row["date_fin"];
 		$type=$row["type"];
 		$id_message=$row['id_message'];
+
 		if ($type=="pb")
 		  $cat = 2;
 		else {
@@ -1458,6 +1459,7 @@ WHERE	(lien.id_message='$id_message'
 		  }
 		}
 
+
 		$jour_avant = substr($avant, 9,2);
 		$mois_avant = substr($avant, 6,2);
 		$annee_avant = substr($avant, 1,4);
@@ -1471,6 +1473,7 @@ WHERE	(lien.id_message='$id_message'
 		$amj = sql_calendrier_jour_ical("$annee_avant-$mois_avant-".sprintf("%02d", $j+($jour_avant)));
 
 		while ($amj <= $ical_apres) {
+		if (!($amj == sql_calendrier_jour_ical($date_fin) AND ereg("00:00:00", $date_fin)))  // Ne pas prendre la fin a minuit sur jour precedent
 			$evenements[$amj][$id_message]=
 			  array(
 				'URL' => "message.php3?id_message=$id_message",
@@ -1480,6 +1483,7 @@ WHERE	(lien.id_message='$id_message'
 				'SUMMARY' => $row['titre'],
 				'CATEGORIES' => $cat,
 				'ATTENDEE' => (count($auteurs) == 0) ? '' : join($auteurs,", "));
+			
 			$j ++; 
 			$ladate = date("Y-m-d",mktime (1,1,1,$mois_avant, ($j + $jour_avant), $annee_avant));
 			
@@ -1554,8 +1558,9 @@ function sql_calendrier_agenda ($mois, $annee) {
 	return $rv;
 }
 
-function sql_calendrier_jour_ical($d) 
-{return  substr($d, 0, 4) . substr($d, 5, 2) .substr($d, 8, 2);}
+function sql_calendrier_jour_ical($d)  {
+	return  substr($d, 0, 4) . substr($d, 5, 2) .substr($d, 8, 2);
+}
 
 # prend une heure de debut et de fin, ainsi qu'une echelle (seconde/pixel)
 # et retourne un tableau compose
diff --git a/ecrire/message.php3 b/ecrire/message.php3
index 1d2fb1e73af9bd210d583fe5f4d6b62fb7cb4581..218d7b13c543c465bd060b4960fdecba4690e704 100644
--- a/ecrire/message.php3
+++ b/ecrire/message.php3
@@ -254,13 +254,6 @@ if ($row = spip_fetch_array(spip_query("SELECT * FROM spip_messages WHERE id_mes
 	if ($type != "affich")
 		spip_query("UPDATE spip_auteurs_messages SET vu='oui' WHERE id_message='$id_message' AND id_auteur='$connect_id_auteur'");
 
-echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"
-    "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
-<html>
-<head><title>[Mon site SPIP] 2004</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head><body>';
-
 	debut_page($titre, "redacteurs", "messagerie");
 
 	debut_gauche();
@@ -268,6 +261,8 @@ echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1/
 	if ($rv != 'non')
 	  echo http_calendrier_agenda ($lemois, $lannee, $lejour, $lemois, $lannee);
 	
+	echo "<br />";
+	
 	echo  http_calendrier_rv(sql_calendrier_taches_annonces(),"annonces");
 	echo  http_calendrier_rv(sql_calendrier_taches_pb(),"pb");
 	echo  http_calendrier_rv(sql_calendrier_taches_rv(), "rv");
diff --git a/ecrire/message_edit.php3 b/ecrire/message_edit.php3
index ea7b716eae61db42fe15ea990e3a2d084a70a519..f7d6950e88b1bdbeda0a96cda778de102417bcf5 100644
--- a/ecrire/message_edit.php3
+++ b/ecrire/message_edit.php3
@@ -70,62 +70,59 @@ function afficher_jour($jour, $attributs){
 
 function afficher_jour_mois_annee_h_m($date, $heures, $minutes, $suffixe='')
 {
-  afficher_jour(jour($date), "name='jour$suffixe' size='1' class='fondl'");
-  echo '<br />', afficher_mois(mois($date), "name='mois$suffixe' size='1' class='fondl'");
-  echo '<br />';
- afficher_annee(annee($date), "name='annee$suffixe' size='1' class='fondl'");
+  afficher_jour(jour($date), "name='jour$suffixe' size='1' class='fondl verdana1'");
+  echo afficher_mois(mois($date), "name='mois$suffixe' size='1' class='fondl verdana1'");
+//  echo '<br />';
+ afficher_annee(annee($date), "name='annee$suffixe' size='1' class='fondl verdana1'");
 
-  echo "<br /> <input type='text' class='fondl' name='heures' value=\"".$heures."\" size='3'/>&nbsp;".majuscules(_T('date_mot_heures'))."&nbsp;",
-    "<input type='text' class='fondl' name='minutes' value=\"$minutes\" size='3'/>";
+  echo "&nbsp;  <input type='text' class='fondl verdana1' name='heures$suffixe' value=\"".$heures."\" size='3'/>&nbsp;".majuscules(_T('date_mot_heures'))."&nbsp;",
+    "<input type='text' class='fondl verdana1' name='minutes$suffixe' value=\"$minutes\" size='3'/>";
 }
 
 function afficher_si_rdv($date_heure, $date_fin, $choix)
 {
-  global $spip_lang_rtl;
+	global $spip_lang_rtl;
 
-  $heures_debut = heures($date_heure);
-  $minutes_debut = minutes($date_heure);
-  $heures_fin = heures($date_fin);
-  $minutes_fin = minutes($date_fin);
+	$heures_debut = heures($date_heure);
+	$minutes_debut = minutes($date_heure);
+	$heures_fin = heures($date_fin);
+	$minutes_fin = minutes($date_fin);
   
-  if ($date_fin == "0000-00-00 00:00:00") {
-    $date_fin = $date_heure;
-    $heures_fin = $heures_debut + 1;
-  }
+	if ($date_fin == "0000-00-00 00:00:00") {
+		$date_fin = $date_heure;
+		$heures_fin = $heures_debut + 1;
+	}
   
-  if ($heures_fin >=24){
-    $heures_fin = 23;
-    $minutes_fin = 59;
-  }
-		
-  $res = "<div><br /><input type='radio' name='rv' value='non' id='rv_off'" .
-	(!$choix ? "checked='checked' " : '') .
-	" onclick=\"changeVisible(this.checked, 'heure-rv', 'none', 'block');\"/>" .
-	"<label for='rv_off'><b>".
-    #			  _T('item_non_afficher_calendrier').
-	_L('Ce message ne concerne pas un rendez-vous').
-	"</b></label>";
-  echo ($choix  ? $res : "<b>$res</b>") . "</div>";
-
-  $res = "<br /><input type='radio' name='rv' value='oui' id='rv_on' " .
-    ($choix ? "checked='checked' " : '') .
-    "onclick=\"changeVisible(this.checked, 'heure-rv', 'block', 'none');\"/>" . " <label for='rv_on'>".
-    #			  _T('item_afficher_calendrier').
-    _L('Ce message concerne le rendez-vous suivant').
-    "</label>";
-  echo '<p>' . (!$choix  ? $res : "<b>$res</b>") . '</p>';
-  echo "<div id='heure-rv' style='display: block; padding-top: 4px; padding-left: 24px;'>";
-
-  echo _L('Du '), '<br />';
-  afficher_jour_mois_annee_h_m($date_heure, $heures_debut, $minutes_debut);
-
-#  echo " <br /><img src='puce$spip_lang_rtl.gif' alt=' '/> &nbsp; ";
-  echo  '<br /><br />', _L('Au '), '<br />';
-  afficher_jour_mois_annee_h_m($date_fin,
-			       $heures_fin,
-			       $minutes_fin,
-			       '_fin');
-  echo "</div>";
+	if ($heures_fin >=24){
+		$heures_fin = 23;
+		$minutes_fin = 59;
+	}
+			
+	$res = "<div><input type='radio' name='rv' value='non' id='rv_off'" .
+		(!$choix ? "checked='checked' " : '') .
+		" onclick=\"changeVisible(this.checked, 'heure-rv', 'none', 'block');\"/>" .
+		"<label for='rv_off'>".
+		_T('item_non_afficher_calendrier').
+		"</label>";
+	echo ($choix  ? $res : "<b>$res</b>") . "</div>";
+
+	$res = "<input type='radio' name='rv' value='oui' id='rv_on' " .
+		($choix ? "checked='checked' " : '') .
+		"onclick=\"changeVisible(this.checked, 'heure-rv', 'block', 'none');\"/>" . 
+		"<label for='rv_on'>".
+		_T('item_afficher_calendrier').
+		"</label>";
+	echo '<div>' . (!$choix  ? $res : "<b>$res</b>") . '</div>';
+	
+	$display = ($choix ? "block" : "none");
+	
+	echo "<div id='heure-rv' style='display: $display; padding-top: 4px; padding-left: 24px;'>";
+
+	afficher_jour_mois_annee_h_m($date_heure, $heures_debut, $minutes_debut);
+
+	echo " <br /><img src='puce$spip_lang_rtl.gif' alt=' '/> &nbsp; ";
+	afficher_jour_mois_annee_h_m($date_fin, $heures_fin, $minutes_fin, '_fin');
+	echo "</div>";
 }
 
 
@@ -188,16 +185,6 @@ if ($type == 'affich') {
 echo "<form action='message.php3?id_message=$id_message' method='post'>";
 
  debut_gauche();
-	//////////////////////////////////////////////////////
-	// Fixer rendez-vous?
-	//
-
-	if ($rv == "oui") $fonction = "rv.gif";	else $fonction = "";
-
-	debut_cadre_trait_couleur("$logo.gif", false, $fonction, 
-				  _T('titre_rendez_vous'));
-
-afficher_si_rdv($date_heure, $date_fin, ($rv != "oui")); 
 
 debut_droite();
 
@@ -221,7 +208,14 @@ debut_droite();
 
 	echo "<p />";
 
-		fin_cadre_trait_couleur();
+
+	//////////////////////////////////////////////////////
+	// Fixer rendez-vous?
+	//
+	if ($rv == "oui") $fonction = "rv.gif";	else $fonction = "";
+	debut_cadre_trait_couleur("$logo.gif", false, $fonction, _T('titre_rendez_vous'));
+	afficher_si_rdv($date_heure, $date_fin, ($rv == "oui")); 
+	fin_cadre_trait_couleur();
 
 	echo "<p><b>"._T('info_texte_message_02')."</b><br />";
 	echo "<textarea name='texte' rows='20' class='formo' cols='40'>";
diff --git a/ecrire/spip_style.php3 b/ecrire/spip_style.php3
index 85b2eee8503332c4af3b95fc9a02ef01e22eefb7..3f81dbad3bda84fc4dd7c840931960318ef0fae4 100644
--- a/ecrire/spip_style.php3
+++ b/ecrire/spip_style.php3
@@ -822,7 +822,7 @@ a.bouton_rotation:hover img {
 	-moz-opacity: 0.6; filter: alpha(opacity=60);
 }
 .dessus, .dessous.hover {
-	z-index : 2; 
+	z-index : 3; 
 	-moz-opacity: 1; filter: alpha(opacity=100);
 	cursor: pointer;
 }