rem: if ( iface -> scheduled_div_id ( echeance ) == no_division )
add: if ( iface -> scheduled_div_id (scheduled_number) == no_division )
context: gboolean supprimer_division ( GtkTreeView * tree_view ){    GtkTreeSelection * selection;    GtkTreeModel * model;    GtkTreeIter iter, * it;    GSList * liste_tmp;    gint no_division = 0, no_sub_division = 0;    gpointer pointer = NULL;    MetatreeInterface * iface;    selection = gtk_tree_view_get_selection ( tree_view );    if ( selection && gtk_tree_selection_get_selected(selection, &model, &iter))    {	gtk_tree_model_get ( model, &iter, 			     META_TREE_POINTER_COLUMN, &pointer,			     META_TREE_NO_DIV_COLUMN, &no_division,			     META_TREE_NO_SUB_DIV_COLUMN, &no_sub_division,			     -1 );    }    if ( pointer == NULL )    {	/* FIXME: tell the truth ;-) */	dialogue_warning_hint ( _("This should not theorically happen."),				_("Can't remove selected division."));	return FALSE;    }    iface = g_object_get_data ( G_OBJECT(model), "metatree-interface" );       if ( no_sub_division != -1 )    {	supprimer_sub_division ( tree_view, model, iface, pointer, no_division );	return FALSE;    }    if ( find_associated_transactions ( iface, no_division, -1 ) )    {	gint nouveau_no_division, nouveau_no_sub_division;	GSList *list_tmp_transactions;		if ( ! find_destination_blob ( iface, model, pointer, NULL, 				       &nouveau_no_division, &nouveau_no_sub_division ) )	    return FALSE;	/* on fait le tour des opés pour mettre le nouveau numéro de	 * division et sub_division */	list_tmp_transactions = gsb_data_transaction_get_transactions_list ();	while ( list_tmp_transactions )	{	    gint transaction_number_tmp;	    transaction_number_tmp = gsb_data_transaction_get_transaction_number (list_tmp_transactions -> data);	    if ( iface -> transaction_div_id (gsb_data_transaction_get_pointer_to_transaction (transaction_number_tmp)) == no_division )	    {		iface -> add_transaction_to_sub_div ( gsb_data_transaction_get_pointer_to_transaction (transaction_number_tmp), nouveau_no_division,						      nouveau_no_sub_division );		iface -> transaction_set_div_id ( gsb_data_transaction_get_pointer_to_transaction (transaction_number_tmp), nouveau_no_division );		iface -> transaction_set_sub_div_id ( gsb_data_transaction_get_pointer_to_transaction (transaction_number_tmp), nouveau_no_sub_division );	    }	    list_tmp_transactions = list_tmp_transactions -> next;	}	/* fait le tour des échéances pour mettre le nouveau numéro	 * de division et sub_division  */	liste_tmp = liste_struct_echeances;	while ( liste_tmp )	{	    struct operation_echeance *echeance;	    echeance = liste_tmp -> data;	    if ( iface -> scheduled_div_id ( echeance ) == no_division )	    {		iface -> scheduled_set_div_id ( echeance, nouveau_no_division );		iface -> scheduled_set_sub_div_id ( echeance, nouveau_no_sub_division );	    }	    liste_tmp = liste_tmp -> next;	}	/* Fill sub division */	it = get_iter_from_div ( model, nouveau_no_division, nouveau_no_sub_division );	if ( it )	    fill_sub_division_row ( model, iface, it,				    iface -> get_div_pointer (nouveau_no_division),				    iface -> get_sub_div_pointer (nouveau_no_division, 								  nouveau_no_sub_division ) );	/* Fill division as well */	it = get_iter_from_div ( model, nouveau_no_division, -1 );	if ( it )	    fill_division_row ( model, iface, it,				iface -> get_div_pointer (nouveau_no_division) );	demande_mise_a_jour_tous_comptes ();    }    /* supprime dans la liste des division  */    iface -> remove_div ( no_division );     selection = gtk_tree_view_get_selection ( tree_view );    if ( selection && gtk_tree_selection_get_selected(selection, &model, &iter))    {	gtk_tree_store_remove ( GTK_TREE_STORE(model), &iter );    }        modification_fichier(TRUE);        return FALSE;}