rem: remplit_ligne_operation ( contra_transaction, NULL );
add: gsb_transactions_list_append_transaction ( contra_transaction, contra_transaction -> no_compte );
context: gboolean move_operation_to_account ( struct structure_operation * transaction,				     gint account ){    GtkTreeIter *iter;    if ( transaction -> relation_no_operation )    {	struct structure_operation * contra_transaction;	/* 	l'opération est un virement, si on veut la déplacer vers le compte */	/* 	    viré, on refuse */	if ( transaction -> relation_no_compte == account )	{	    dialogue_error ( _("Cannot move a transfer on his contra-account"));	    return FALSE;	}	contra_transaction = operation_par_no (  transaction -> relation_no_operation,						 transaction -> relation_no_compte );	if ( contra_transaction )	{	    contra_transaction -> relation_no_compte = account;	    /* 	    p_tab est placé par la fonction suivante, et on remet gsb_account_get_finished_balance_showed () à 1 */	    /* 		car est remis à 0 mais on ne change pas le solde */	    remplit_ligne_operation ( contra_transaction,				      NULL );	    gsb_account_set_finished_balance_showed ( transaction -> no_compte,						      1 );	}    }    if ( transaction -> operation_ventilee )    {	GSList *liste_tmp;	liste_tmp = g_slist_copy ( gsb_account_get_transactions_list (transaction -> no_compte) );	while ( liste_tmp )	{	    struct structure_operation *transaction_2;	    transaction_2 = liste_tmp -> data;	    if ( transaction_2 -> no_operation_ventilee_associee == 		 transaction -> no_operation )	    {		move_operation_to_account ( transaction_2, account );		transaction_2 -> relation_no_compte = account;	    }	    liste_tmp = liste_tmp -> next;	}	g_slist_free ( liste_tmp );    }    gsb_account_set_transactions_list ( transaction -> no_compte,					g_slist_remove ( gsb_account_get_transactions_list (transaction -> no_compte),							 transaction ));    /*     si l'opération était affichée, on la retire du list_store */    iter = cherche_iter_operation ( transaction,				    transaction -> no_compte);    if ( iter )    {	gint i;	/* si la sélection est sur l'opération qu'on supprime, */	/* on met la sélection sur celle du dessous */	if ( gsb_account_get_current_transaction (transaction -> no_compte) == transaction )	    gsb_account_set_current_transaction ( transaction -> no_compte,						  cherche_operation_from_ligne ( cherche_ligne_operation ( gsb_account_get_current_transaction (transaction -> no_compte),													   transaction -> no_compte ) + gsb_account_get_nb_rows ( transaction -> no_compte ),										 transaction -> no_compte ) );	for ( i=0 ; i<gsb_account_get_nb_rows ( transaction -> no_compte ) ; i++ )	    gtk_list_store_remove ( GTK_LIST_STORE ( gsb_account_get_store (transaction -> no_compte) ),				    iter );	/*     on met à jour les couleurs et les soldes */	gsb_transactions_list_set_background_color ( transaction -> no_compte );	gsb_transactions_list_set_transactions_balances ( transaction -> no_compte );	gsb_transactions_list_set_current_transaction ( gsb_account_get_current_transaction (transaction -> no_compte),							transaction -> no_compte );    }    transaction -> no_compte = account;    /*     comme l'opé contient déjà un no d'opération, on doit d'abord l'ajouter manuellement */    /* 	à la liste avant d'appeler ajout_operation */    gsb_account_set_transactions_list ( account,					g_slist_append ( gsb_account_get_transactions_list (account),							 transaction ));    ajout_operation ( transaction );    return TRUE;}