diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php
index bbf5340009aaf891c04667620bfca32b989b2e57..78cd376830574c8d8d6c3fe29fcec4b53b2ea6f7 100644
--- a/htdocs/html.form.class.php
+++ b/htdocs/html.form.class.php
@@ -823,7 +823,6 @@ class Form
 
 			dol_syslog("Form::select_produits_do sql=".$sql, LOG_DEBUG);
 			$resultd = $this->db->query($sqld);
-			if ( $resultd ) $objtp = $this->db->fetch_object($resultd);
 		}
 
 		if ($result)
@@ -859,10 +858,10 @@ class Form
 				// Multilangs : modification des donn�e si une traduction existe
 				if ($conf->global->MAIN_MULTILANGS)
 				{
+					if ( $resultd ) $objtp = $this->db->fetch_object($resultd);
 					if ( $objp->rowid == $objtp->fk_product ) // si on a une traduction
 					{
 						if ( $objtp->label != '') $objp->label = $objtp->label;
-						if ( $resultd ) $objtp = $this->db->fetch_object($resultd); // on charge la traduction suivante
 					}
 				}
 				$opt = '<option value="'.$objp->rowid.'"';
@@ -883,21 +882,24 @@ class Form
 
 					dol_syslog("Form::select_produits_do sql=".$sql);
 					$result2 = $this->db->query($sql);
-					$objp2 = $this->db->fetch_object($result2);
-					if ($objp2)
+					if ($result2)
 					{
-						if ($objp2->price_base_type == 'HT')
-						$opt.= price($objp2->price,1).' '.$langs->trans("Currency".$conf->monnaie).' '.$langs->trans("HT");
-						else
-						$opt.= price($objp2->price_ttc,1).' '.$langs->trans("Currency".$conf->monnaie).' '.$langs->trans("TTC");
-					}
-					//si il n'y a pas de prix multiple on prend le prix de base du produit/service
-					else
-					{
-						if ($objp->price_base_type == 'HT')
-						$opt.= price($objp->price,1).' '.$langs->trans("Currency".$conf->monnaie).' '.$langs->trans("HT");
+						$objp2 = $this->db->fetch_object($result2);
+						if ($objp2)
+						{
+							if ($objp2->price_base_type == 'HT')
+							$opt.= price($objp2->price,1).' '.$langs->trans("Currency".$conf->monnaie).' '.$langs->trans("HT");
+							else
+							$opt.= price($objp2->price_ttc,1).' '.$langs->trans("Currency".$conf->monnaie).' '.$langs->trans("TTC");
+						}
+						//si il n'y a pas de prix multiple on prend le prix de base du produit/service
 						else
-						$opt.= price($objp->price_ttc,1).' '.$langs->trans("Currency".$conf->monnaie).' '.$langs->trans("TTC");
+						{
+							if ($objp->price_base_type == 'HT')
+							$opt.= price($objp->price,1).' '.$langs->trans("Currency".$conf->monnaie).' '.$langs->trans("HT");
+							else
+							$opt.= price($objp->price_ttc,1).' '.$langs->trans("Currency".$conf->monnaie).' '.$langs->trans("TTC");
+						}
 					}
 				}
 				else
diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php
index a88b5a765fae37f3094d0997c94d0171a57d5dc5..1957c98d21ab74dd468234299feb2e339f7594d2 100644
--- a/htdocs/lib/databases/mysql.lib.php
+++ b/htdocs/lib/databases/mysql.lib.php
@@ -343,7 +343,7 @@ class DoliDb
 	}
 
 	/**
-		\brief      Effectue une requete et renvoi le resultset de r�ponse de la base
+		\brief      Effectue une requete et renvoi le resultset de reponse de la base
 		\param	    query	    Contenu de la query
 		\return	    resource    Resultset de la reponse
 		*/
@@ -390,7 +390,7 @@ class DoliDb
 	}
 
 	/**
-	 \brief      Renvoie les donn�es dans un tableau.
+	 \brief      Renvoie les donnees dans un tableau.
 	 \param      resultset   Curseur de la requete voulue
 	 \return	    array
 	 */
@@ -403,7 +403,7 @@ class DoliDb
 
 
 	/**
-	 \brief      Renvoie les donn�es comme un tableau.
+	 \brief      Renvoie les donnees comme un tableau.
 	 \param      resultset   Curseur de la requete voulue
 	 \return	    array
 	 */
@@ -422,7 +422,7 @@ class DoliDb
 	 */
 	function num_rows($resultset=0)
 	{
-		// Si le resultset n'est pas fourni, on prend le dernier utilis� sur cette connexion
+		// Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion
 		if (! is_resource($resultset)) { $resultset=$this->results; }
 		return mysql_num_rows($resultset);
 	}
@@ -435,7 +435,7 @@ class DoliDb
 	 */
 	function affected_rows($resultset=0)
 	{
-		// Si le resultset n'est pas fourni, on prend le dernier utilis� sur cette connexion
+		// Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion
 		if (! is_resource($resultset)) { $resultset=$this->results; }
 		// mysql necessite un link de base pour cette fonction contrairement
 		// a pqsql qui prend un resultset
@@ -444,14 +444,14 @@ class DoliDb
 
 
 	/**
-	 \brief      Lib�re le dernier resultset utilis� sur cette connexion.
+	 \brief      Libere le dernier resultset utilise sur cette connexion.
 	 \param      resultset   Curseur de la requete voulue
 	 */
 	function free($resultset=0)
 	{
-		// Si le resultset n'est pas fourni, on prend le dernier utilis� sur cette connexion
+		// Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion
 		if (! is_resource($resultset)) { $resultset=$this->results; }
-		// Si resultset en est un, on libere la m�moire
+		// Si resultset en est un, on libere la memoire
 		if (is_resource($resultset)) mysql_free_result($resultset);
 	}
 
diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php
index cc89ceecb18db3c5460349bd94df78e13b8786b0..bfdd7ba58edd9f7181fd649e7f5f7899e3b1991f 100644
--- a/htdocs/lib/databases/mysqli.lib.php
+++ b/htdocs/lib/databases/mysqli.lib.php
@@ -435,7 +435,7 @@ class DoliDb
 	 */
 	function num_rows($resultset=0)
 	{
-		// Si le resultset n'est pas fourni, on prend le dernier utilis� sur cette connexion
+		// Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion
 		if (! is_object($resultset)) { $resultset=$this->results; }
 		return mysqli_num_rows($resultset);
 	}
diff --git a/htdocs/product.class.php b/htdocs/product.class.php
index 709dc28928a7847ede17cb1b1168288aa8a50df7..74e886aafc957bcd20e02ee190da870deb463fa1 100644
--- a/htdocs/product.class.php
+++ b/htdocs/product.class.php
@@ -543,7 +543,7 @@ class Product extends CommonObject
 	}
 
 	/**
-	 *		\brief   update ou cr�e les traductions des infos produits
+	 *		\brief   update ou cree les traductions des infos produits
 	 */
 	function setMultiLangs()
 	{
@@ -557,48 +557,48 @@ class Product extends CommonObject
 			$sql.= " WHERE fk_product=".$this->id." AND lang='".$value."'";
 
 			$result = $this->db->query($sql);
-
-	  if ($value == $current_lang)
-	  {
-	  	if ($this->db->num_rows($result)) // si aucune ligne dans la base
-	  	{
-	  		$sql2 = "UPDATE ".MAIN_DB_PREFIX."product_det";
-	  		$sql2.= " SET label='".addslashes($this->libelle)."',";
-	  		$sql2.= " description='".addslashes($this->description)."',";
-	  		$sql2.= " note='".addslashes($this->note)."'";
-	  		$sql2.= " WHERE fk_product=".$this->id." AND lang='".$value."'";
-	  	}
-	  	else
-	  	{
-	  		$sql2 = "INSERT INTO ".MAIN_DB_PREFIX."product_det (fk_product, lang, label, description, note)";
-	  		$sql2.= " VALUES(".$this->id.",'".$value."','". addslashes($this->libelle);
-	  		$sql2.= "','".addslashes($this->description);
-	  		$sql2.= "','".addslashes($this->note)."')";
-	  	}
-	  	if (!$this->db->query($sql2)) return -1;
-	  }
-	  else
-	  {
-	  	if ($this->db->num_rows($result)) // si aucune ligne dans la base
-	  	{
-	  		$sql2 = "UPDATE ".MAIN_DB_PREFIX."product_det";
-	  		$sql2.= " SET label='".addslashes($this->multilangs["$value"]["libelle"])."',";
-	  		$sql2.= " description='".addslashes($this->multilangs["$value"]["description"])."',";
-	  		$sql2.= " note='".addslashes($this->multilangs["$value"]["note"])."'";
-	  		$sql2.= " WHERE fk_product=".$this->id." AND lang='".$value."'";
-	  	}
-	  	else
-	  	{
-	  		$sql2 = "INSERT INTO ".MAIN_DB_PREFIX."product_det (fk_product, lang, label, description, note)";
-	  		$sql2.= " VALUES(".$this->id.",'".$value."','". addslashes($this->multilangs["$value"]["libelle"]);
-	  		$sql2.= "','".addslashes($this->multilangs["$value"]["description"]);
-	  		$sql2.= "','".addslashes($this->multilangs["$value"]["note"])."')";
-	  	}
-
-	  	// on ne sauvegarde pas des champs vides
-	  	if ( $this->multilangs["$value"]["libelle"] || $this->multilangs["$value"]["description"] || $this->multilangs["$value"]["note"] )
-	  	if (!$this->db->query($sql2)) return -1;
-	  }
+			
+			if ($value == $current_lang)
+			{
+				if ($this->db->num_rows($result)) // si aucune ligne dans la base
+				{
+					$sql2 = "UPDATE ".MAIN_DB_PREFIX."product_det";
+					$sql2.= " SET label='".addslashes($this->libelle)."',";
+					$sql2.= " description='".addslashes($this->description)."',";
+					$sql2.= " note='".addslashes($this->note)."'";
+					$sql2.= " WHERE fk_product=".$this->id." AND lang='".$value."'";
+				}
+				else
+				{
+					$sql2 = "INSERT INTO ".MAIN_DB_PREFIX."product_det (fk_product, lang, label, description, note)";
+					$sql2.= " VALUES(".$this->id.",'".$value."','". addslashes($this->libelle);
+					$sql2.= "','".addslashes($this->description);
+					$sql2.= "','".addslashes($this->note)."')";
+				}
+				if (!$this->db->query($sql2)) return -1;
+			}
+			else
+			{
+				if ($this->db->num_rows($result)) // si aucune ligne dans la base
+				{
+					$sql2 = "UPDATE ".MAIN_DB_PREFIX."product_det";
+					$sql2.= " SET label='".addslashes($this->multilangs["$value"]["libelle"])."',";
+					$sql2.= " description='".addslashes($this->multilangs["$value"]["description"])."',";
+					$sql2.= " note='".addslashes($this->multilangs["$value"]["note"])."'";
+					$sql2.= " WHERE fk_product=".$this->id." AND lang='".$value."'";
+				}
+				else
+				{
+					$sql2 = "INSERT INTO ".MAIN_DB_PREFIX."product_det (fk_product, lang, label, description, note)";
+					$sql2.= " VALUES(".$this->id.",'".$value."','". addslashes($this->multilangs["$value"]["libelle"]);
+					$sql2.= "','".addslashes($this->multilangs["$value"]["description"]);
+					$sql2.= "','".addslashes($this->multilangs["$value"]["note"])."')";
+				}
+				
+				// on ne sauvegarde pas des champs vides
+				if ( $this->multilangs["$value"]["libelle"] || $this->multilangs["$value"]["description"] || $this->multilangs["$value"]["note"] )
+				if (!$this->db->query($sql2)) return -1;
+			}
 		}
 		return 1;
 	}
@@ -627,18 +627,18 @@ class Product extends CommonObject
 		if ($result)
 		{
 			while ( $obj = $this->db->fetch_object($result) )
-	  {
-	  	if( $obj->lang == $current_lang ) // si on a les traduct. dans la langue courant on les charge en infos principales.
-	  	{
-	  		$this->libelle		= $obj->label;
-	  		$this->description	= $obj->description;
-	  		$this->note			= $obj->note;
-	  	}
-	  	$this->multilangs["$obj->lang"]["libelle"]		= $obj->label;
-	  	$this->multilangs["$obj->lang"]["description"]	= $obj->description;
-	  	$this->multilangs["$obj->lang"]["note"]			= $obj->note;
-
-	  }
+			{
+				if( $obj->lang == $current_lang ) // si on a les traduct. dans la langue courant on les charge en infos principales.
+				{
+					$this->libelle		= $obj->label;
+					$this->description	= $obj->description;
+					$this->note			= $obj->note;
+					
+				}
+				$this->multilangs["$obj->lang"]["libelle"]		= $obj->label;
+				$this->multilangs["$obj->lang"]["description"]	= $obj->description;
+				$this->multilangs["$obj->lang"]["note"]			= $obj->note;
+			}
 		}
 		else
 		{
@@ -2643,4 +2643,4 @@ class Product extends CommonObject
 	}
 
 }
-?>
+?>
\ No newline at end of file
diff --git a/htdocs/propal.class.php b/htdocs/propal.class.php
index 2e677f5d2824f81ea1ae1e204b46dd9c5420c151..75d0cfae1497aa441d62814a500eaf7fc74e8ba3 100644
--- a/htdocs/propal.class.php
+++ b/htdocs/propal.class.php
@@ -308,7 +308,7 @@ class Propal extends CommonObject
 			$total_tva = $tabprice[1];
 			$total_ttc = $tabprice[2];
 
-			// \TODO A virer
+			// TODO A virer
 			// Anciens indicateurs: $price, $remise (a ne plus utiliser)
 			$price = $pu;
 			$remise = 0;
@@ -340,7 +340,7 @@ class Propal extends CommonObject
 			//if ($conf->global->PROPALE_USE_OPTION_LINE && !$qty) $ligne->special_code=3;
 			if (empty($qty)) $ligne->special_code=3;
 
-			// \TODO deprecated
+			// TODO deprecated
 			$ligne->price=$price;
 			$ligne->remise=$remise;
 
@@ -2088,9 +2088,9 @@ class PropaleLigne
 	// Bit 0: 	0 si TVA normal - 1 si TVA NPR
 	// Bit 1:	0 ligne normale - 1 si ligne de remise fixe
 
-	var $total_ht;			// Total HT  de la ligne toute quantit� et incluant la remise ligne
-	var $total_tva;			// Total TVA  de la ligne toute quantit� et incluant la remise ligne
-	var $total_ttc;			// Total TTC de la ligne toute quantit� et incluant la remise ligne
+	var $total_ht;			// Total HT  de la ligne toute quantite et incluant la remise ligne
+	var $total_tva;			// Total TVA  de la ligne toute quantite et incluant la remise ligne
+	var $total_ttc;			// Total TTC de la ligne toute quantite et incluant la remise ligne
 
 	// Ne plus utiliser
 	var $remise;
@@ -2104,7 +2104,7 @@ class PropaleLigne
 
 	/**
 	 *      \brief     Constructeur d'objets ligne de propal
-	 *      \param     DB      handler d'acc�s base de donn�e
+	 *      \param     DB      handler d'acces base de donnee
 	 */
 	function PropaleLigne($DB)
 	{