rem: gtk_clist_set_compare_func ( GTK_CLIST ( CLIST_OPERATIONS ), (GtkCListCompareFunc) classement_liste_par_date );
add: LISTE_OPERATIONS = g_slist_sort ( LISTE_OPERATIONS, (GCompareFunc) classement_sliste_par_date );
context: void fin_equilibrage ( GtkWidget *bouton_ok,		       gpointer data ){  GSList *pointeur_liste_ope;  gchar *text;  gint nb_parametres;  GDate *date;  gint date_releve_jour;  gint date_releve_mois;  gint date_releve_annee;  if ( fabs ( solde_final - solde_initial - operations_pointees ) >= 0.01 )    {      dialogue ( _(" L'cart n'est pas de zro  "));      return;    }  p_tab_nom_de_compte_variable = p_tab_nom_de_compte_courant;  /* rcupration de la date */  text = gtk_entry_get_text ( GTK_ENTRY ( entree_nouvelle_date_equilibrage ) );  if ( ( nb_parametres = sscanf ( text,				  "%d/%d/%d",				  &date_releve_jour,				  &date_releve_mois,				  &date_releve_annee))       != 3 )    {      if ( !nb_parametres || nb_parametres == -1 )    {      dialogue ( _("Erreur : date invalide") );      return;    }      date = g_date_new ();      g_date_set_time ( date,			time(NULL));      if ( nb_parametres == 1)	date_releve_mois = g_date_month(date);      date_releve_annee = g_date_year(date);    }  if ( !g_date_valid_dmy ( date_releve_jour,			   date_releve_mois,			   date_releve_annee))    {      dialogue ( _("Erreur : date invalide") );      return;    }  DATE_DERNIER_RELEVE = g_date_new_dmy ( date_releve_jour,					 date_releve_mois,					 date_releve_annee );  gtk_label_set_text ( GTK_LABEL ( label_releve ),		       g_strdup_printf ( _("Dernier relev : %02d/%02d/%d"), 					 date_releve_jour,					 date_releve_mois,					 date_releve_annee ));  /*   rcupration du no de rapprochement, */  /*     s'il n'existe pas,on le cre */  if ( strlen ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( entree_no_rapprochement )))))    {      struct struct_no_rapprochement *rapprochement;      GSList *liste_tmp;      gchar *rap_txt;      rap_txt = g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( entree_no_rapprochement )));      liste_tmp = g_slist_find_custom ( liste_no_rapprochements,					rap_txt,					(GCompareFunc) recherche_no_rapprochement_par_nom );      if ( liste_tmp )	{	  /* le rapprochement existe dj */	  rapprochement = liste_tmp -> data;	  DERNIER_NO_RAPPROCHEMENT = rapprochement -> no_rapprochement;	}      else	{	  /* le rapprochement n'existe pas */	  rapprochement = malloc ( sizeof ( struct struct_no_rapprochement ));	  rapprochement -> no_rapprochement = g_slist_length ( liste_no_rapprochements ) + 1;	  rapprochement -> nom_rapprochement = g_strdup ( rap_txt );	  liste_no_rapprochements = g_slist_append ( liste_no_rapprochements,						     rapprochement );	  DERNIER_NO_RAPPROCHEMENT = rapprochement -> no_rapprochement;	}    }  else    DERNIER_NO_RAPPROCHEMENT = 0;/* met tous les P  R */  p_tab_nom_de_compte_variable = p_tab_nom_de_compte_courant;  pointeur_liste_ope = LISTE_OPERATIONS;  while ( pointeur_liste_ope )    {      struct structure_operation *operation;      operation = pointeur_liste_ope -> data;      if ( operation -> pointe == 1 )	{	  operation -> pointe = 2;	  operation -> no_rapprochement = DERNIER_NO_RAPPROCHEMENT;	}      pointeur_liste_ope = pointeur_liste_ope -> next;    }/* on raffiche la liste */  modification_fichier( TRUE );  SOLDE_DERNIER_RELEVE = solde_final;  gtk_notebook_set_page ( GTK_NOTEBOOK ( notebook_comptes_equilibrage ),			  0 );  etat.equilibrage = 0;  if ( ancien_nb_lignes_ope != nb_lignes_ope )    {      if ( ancien_nb_lignes_ope == 4 )	gtk_button_clicked ( GTK_BUTTON ( bouton_ope_completes ));      else	gtk_button_clicked ( GTK_BUTTON ( bouton_ope_semi_completes ));    }	  if ( etat.valeur_r_avant_rapprochement )    change_aspect_liste ( NULL,			  2 );  gtk_clist_set_compare_func ( GTK_CLIST ( CLIST_OPERATIONS ),			       (GtkCListCompareFunc) classement_liste_par_date );  remplissage_liste_operations ( compte_courant );  gtk_widget_show ( label_proprietes_operations_compte );/*   on redonne le focus  la liste */  gtk_widget_grab_focus ( GTK_WIDGET ( CLIST_OPERATIONS ) );}