 var index
 function sort_int(p1,p2) { return p1[index]-p2[index]; }            //fonction pour trier les nombres
 function sort_char(p1,p2) { return ((p1[index]>=p2[index])<<1)-1; }    //fonction pour trier les strings
  
 function TableOrder(table,index_cell,Dec)  //Dec= 0:Croissant, 1:Décroissant
 { //---- Détermine : oCell(cellule) oTable(table) index(index cellule) -----//
     var FntSort = new Array()
//     if(!e) e=window.event
	 //determine la cellule sélectionnée
  //   for(oCell=e.srcElement?e.srcElement:e.target;oCell.tagName!="TD";oCell=oCell.parentNode);    
	 //determine lobjet table parent
   //  for(oTable=oCell.parentNode;oTable.tagName!="TABLE";oTable=oTable.parentNode);                
	 //determine lindex de la cellule
 //    for(index=0;oTable.rows[0].cells[index]!=oCell;index++);                                    
oTable=document.getElementById(table);

if(!oTable.rows[0]) //SI TABLEAU VIDE
		return;

index=index_cell;
  //---- Copier Tableau Html dans Table JavaScript ----//
     var Table = new Array()
     for(r=0;r<oTable.rows.length;r++) Table[r] = new Array()
  
     for(c=0;c<oTable.rows[0].cells.length;c++)    //Sur toutes les cellules
     {    var Type;
         objet=oTable.rows[0].cells[c].innerHTML.replace(/<\/?[^>]+>/gi,"")
         if(objet.match(/^\d\d[\/-]\d\d[\/-]\d\d\d\d$/)) { FntSort[c]=sort_char; Type=0; } //date jj/mm/aaaa
         else                                            { FntSort[c]=sort_char; Type=2; } //Chaine de caractère
  
         for(r=0;r<oTable.rows.length;r++)        //De toutes les rangées
         {    objet=oTable.rows[r].cells[c].innerHTML.replace(/<\/?[^>]+>/gi,"")
             switch(Type)        
             {    case 0: Table[r][c]=new Date(objet.substring(6),objet.substring(3,5),objet.substring(0,2)); break; //date jj/mm/aaaa
                 case 1: Table[r][c]=parseFloat(objet.replace(/[^0-9.-]/g,'')); break; //nombre
                 case 2: Table[r][c]=objet.toLowerCase(); break; //Chaine de caractère
             }
             Table[r][c+oTable.rows[0].cells.length] = oTable.rows[r].cells[c].innerHTML
         }
     }
  
  //--- Tri Table ---//
     Table.sort(FntSort[index]);
     if(Dec) Table.reverse();
  
  //---- Copier Table JavaScript dans Tableau Html ----//
     for(c=0;c<oTable.rows[0].cells.length;c++)    //Sur toutes les cellules
         for(r=0;r<oTable.rows.length;r++)        //De toutes les rangées
             oTable.rows[r].cells[c].innerHTML=Table[r][c+oTable.rows[0].cells.length];  
 }