function LimiterTextArea(nom_controletexte, nbcar, nom_controledecompte)
 {
 var moncontroletexte = document.getElementById(nom_controletexte);

 var moncontroledecompte = document.getElementById(nom_controledecompte);

 if (moncontroletexte && moncontroledecompte)
 {

 moncontroletexte.onclick = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
 moncontroletexte.onblur = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
 moncontroletexte.onkeyup = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
 moncontroletexte.onkeypress = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};

 // *** Affichage du nombre de caracteres restant
 if(moncontroledecompte.type)
 moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar); // Pour un input de formulaire
 else
 moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar); // Pour un element HTML

 }
 }

 // TextAreaEstRempli
 // args : textarea moncontroletexte, int nbcar, element_HTML moncontroledecompte
 // return : bool
 // Renvoie vrai si le nombre de caracteres maximum du textarea n'est pas atteint
 function TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)
 {
 if (moncontroletexte)
 {
 if (moncontroletexte.value.length <= nbcar)
 {
 //alert("pas rempli");
 // mes actions ...

 // *** Affichage du nombre de caracteres restant
 if(moncontroledecompte.type)
 moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);
 else
 moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);

 return true;
 }
 else
 {
 //alert("rempli");
 // mes actions ...

 // Affichage du nombre de caracteres restant
 moncontroletexte.value = moncontroletexte.value.substr(0, nbcar);

 // *** Affichage du nombre de caracteres restant
 if(moncontroledecompte.type)
 moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);
 else
 moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);

 return false;
 }
 }
 }

 // NbCarRestant
 // args : textarea moncontroletexte, int nbcar
 // return : int
 // Renvoie le nombre de caractere a saisir
 function NbCarRestant(moncontroletexte, nbcar)
 {
 if (moncontroletexte.value.length)
 return new Number(nbcar - moncontroletexte.value.length);
 else
 return new Number(nbcar);
 }