rem: && ! COMPTE_CLOTURE )
add: && ! COMPTE_CLOTURE && ( TYPE_DE_COMPTE == 0 || TYPE_DE_COMPTE == 1 ))
context: void update_liste_comptes_accueil ( void ){    GtkWidget *pTable, *pEventBox, *pLabel, *vbox, *paddingbox;    GdkColor CouleurSoldeAlarmeVerteNormal, CouleurSoldeAlarmeVertePrelight,    CouleurSoldeAlarmeOrangeNormal, CouleurSoldeAlarmeOrangePrelight,    CouleurSoldeAlarmeRougeNormal, CouleurSoldeAlarmeRougePrelight,    CouleurNomCompteNormal, CouleurNomComptePrelight;    GtkStyle *pStyleLabelNomCompte, *pStyleLabelSoldeCourant,     *pStyleLabelSoldePointe;    GSList *ordre_comptes_variable, *liste_operations_tmp, *devise;    gdouble montant, solde_global_courant, solde_global_pointe;    GList *children;    gint i;    if ( DEBUG )	printf ( "update_liste_comptes_accueil\n" );    if ( !nb_comptes )	return;    /* Initialisation des couleurs des diffrents labels */    /* Pourra tre intgr  la configuration gnrale */    CouleurSoldeAlarmeVerteNormal.red =     0.00 * 65535 ;    CouleurSoldeAlarmeVerteNormal.green =   0.50 * 65535 ;    CouleurSoldeAlarmeVerteNormal.blue =    0.00 * 65535 ;    CouleurSoldeAlarmeVertePrelight.red =   0.00 * 65535 ;    CouleurSoldeAlarmeVertePrelight.green = 0.90 * 65535 ;    CouleurSoldeAlarmeVertePrelight.blue =  0.00 * 65535 ;    CouleurSoldeAlarmeOrangeNormal.red =     0.90 * 65535 ;    CouleurSoldeAlarmeOrangeNormal.green =   0.60 * 65535 ;    CouleurSoldeAlarmeOrangeNormal.blue =    0.00 * 65535 ;    CouleurSoldeAlarmeOrangePrelight.red =   1.00 * 65535 ;    CouleurSoldeAlarmeOrangePrelight.green = 0.80 * 65535 ;    CouleurSoldeAlarmeOrangePrelight.blue =  0.00 * 65535 ;    CouleurSoldeAlarmeRougeNormal.red =     0.60 * 65535 ;    CouleurSoldeAlarmeRougeNormal.green =   0.00 * 65535 ;    CouleurSoldeAlarmeRougeNormal.blue =    0.00 * 65535 ;    CouleurSoldeAlarmeRougePrelight.red =   1.00 * 65535 ;    CouleurSoldeAlarmeRougePrelight.green = 0.00 * 65535 ;    CouleurSoldeAlarmeRougePrelight.blue =  0.00 * 65535 ;    CouleurNomCompteNormal.red =     0.00 * 65535 ;    CouleurNomCompteNormal.green =   0.00 * 65535 ;    CouleurNomCompteNormal.blue =    0.00 * 65535 ;    CouleurNomComptePrelight.red =   0.61 * 65535 ;    CouleurNomComptePrelight.green = 0.61 * 65535 ;    CouleurNomComptePrelight.blue =  0.61 * 65535 ;    /* Cration d'un label juste pour en rcuprer le style */    pLabel = gtk_label_new ("");    /* Initialisation du style  Nom du compte  */    pStyleLabelNomCompte = gtk_style_copy ( gtk_widget_get_style ( pLabel ));    pStyleLabelNomCompte->fg[GTK_STATE_NORMAL] = CouleurNomCompteNormal;    pStyleLabelNomCompte->fg[GTK_STATE_PRELIGHT] = CouleurNomComptePrelight;    /* Cration du cadre principal */    /*   gtk_notebook_remove_page ( GTK_NOTEBOOK (frame_etat_comptes_accueil), 0 ); */    /* Remove previous child */    children = gtk_container_get_children(GTK_CONTAINER(frame_etat_comptes_accueil));    if ( children && children -> data)	gtk_container_remove ( GTK_CONTAINER(frame_etat_comptes_accueil),			       GTK_WIDGET(children -> data) );    /* Create the handle vbox  */    vbox = gtk_vbox_new ( FALSE, 6 );    gtk_container_add ( GTK_CONTAINER ( frame_etat_comptes_accueil ), vbox );    for ( devise = liste_struct_devises; devise ; devise = devise->next )    {	int devise_is_used = 0;	p_tab_nom_de_compte_variable = p_tab_nom_de_compte;	for ( i = 0 ; i < nb_comptes ; i++ )	{	    if ( DEVISE == ((struct struct_devise *) devise -> data) -> no_devise		 && ! COMPTE_CLOTURE )		devise_is_used = 1;	    p_tab_nom_de_compte_variable++;	  	}	if ( !devise_is_used )	    continue;	/* Cration du tableau dans lequel seront stocks les comptes avec leur     */	/* solde.                                                                   */	paddingbox = new_paddingbox_with_title ( vbox, FALSE,						 g_strdup_printf (_("Account balances in %s"),								  ((struct struct_devise *) devise -> data) -> nom_devise ));	pTable = gtk_table_new ( nb_comptes + 4, 8, FALSE );	gtk_box_pack_start ( GTK_BOX ( paddingbox ), pTable, FALSE, FALSE, 0 );	/* Cration et remplissage de la premire ligne du tableau */	pLabel = gtk_label_new (_("Reconciled balance"));	gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_HORIZ_CENTER, MISC_VERT_CENTER );	gtk_table_attach_defaults ( GTK_TABLE ( pTable ), pLabel, 2, 4, 0, 1 );	gtk_widget_show ( pLabel );	pLabel = gtk_label_new (_("Current balance"));	gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_HORIZ_CENTER, MISC_VERT_CENTER );	gtk_table_attach_defaults ( GTK_TABLE ( pTable ), pLabel, 5, 7, 0, 1 );	gtk_widget_show ( pLabel );	/* Affichage des comptes et de leur solde */	ordre_comptes_variable = ordre_comptes;	i = 1;	solde_global_courant = 0 ;	solde_global_pointe = 0 ;	/* Pour chaque compte non clotur (pour chaque ligne), */	/* crer toutes les colonnes et les remplir            */	do	{	    p_tab_nom_de_compte_variable = p_tab_nom_de_compte + GPOINTER_TO_INT ( ordre_comptes_variable->data );	    if ( !COMPTE_CLOTURE &&		 DEVISE == ((struct struct_devise *) devise -> data) -> no_devise )	    {		/* Premire colonne : vide */		pLabel = gtk_label_new ( g_strconcat ( (gchar *) NOM_DU_COMPTE, " : ", NULL ));		gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_LEFT, MISC_VERT_CENTER );		gtk_widget_set_style ( pLabel, pStyleLabelNomCompte );		/* Est-il rellement ncessaire de crer des labels vides pour */		/* remplir des colonnes vides d'un tableau ?                   */		pLabel = gtk_label_new ( "" );		gtk_table_attach_defaults ( GTK_TABLE ( pTable ), pLabel, 0, 1, i, i+1 );		gtk_widget_show ( pLabel );		/* Deuxime colonne : elle contient le nom du compte */		pLabel = gtk_label_new ( g_strconcat ( (gchar *) NOM_DU_COMPTE, " : ", NULL ));		gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_LEFT, MISC_VERT_CENTER );		gtk_widget_set_style ( pLabel, pStyleLabelNomCompte );		/* Cration d'une boite  vnement qui sera rattache au nom du compte */		pEventBox = gtk_event_box_new ();		gtk_signal_connect ( GTK_OBJECT ( pEventBox ),				     "enter-notify-event",				     GTK_SIGNAL_FUNC ( met_en_prelight ),				     NULL );		gtk_signal_connect ( GTK_OBJECT ( pEventBox ),				     "leave-notify-event",				     GTK_SIGNAL_FUNC ( met_en_normal ),				     NULL );		gtk_signal_connect_object ( GTK_OBJECT ( pEventBox ),					    "button-press-event",					    GTK_SIGNAL_FUNC ( changement_compte ),					    GINT_TO_POINTER ( ordre_comptes_variable->data ) );		gtk_table_attach ( GTK_TABLE ( pTable ), pEventBox,				   1, 2, i, i+1,				   GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK,				   20, 0 );		gtk_widget_show ( pEventBox );		gtk_container_add ( GTK_CONTAINER ( pEventBox ), pLabel );		gtk_widget_show ( pLabel );		/* Calcul du solde point : je ne sais plus pourquoi on fait		   ce calcul, sans doute le solde point n'est-il pas disponible		   en tant que variable globale */		solde_pointe_affichage_liste = SOLDE_INIT;		/* on commence la boucle : fait le tour de toutes les oprations */		/* met  jour les solde_courant_affichage_liste et solde_pointe_affichage_liste */		/* affiche l'opration  l'cran en fonction de l'affichage de R */		liste_operations_tmp = LISTE_OPERATIONS;		while ( liste_operations_tmp )		{		    struct structure_operation *operation;		    operation = liste_operations_tmp -> data;		    /* si c'est une op de ventilation, on la saute */		    if ( !operation -> no_operation_ventilee_associee )		    {			/* quelle que soit l'opration (releve ou non), on calcule les soldes courant */			montant = calcule_montant_devise_renvoi ( operation -> montant,								  DEVISE,								  operation -> devise,								  operation -> une_devise_compte_egale_x_devise_ope,								  operation -> taux_change,								  operation -> frais_change );			/* si l'op est pointe ou releve, on ajoute ce montant au solde point */			if ( operation -> pointe )			    solde_pointe_affichage_liste = solde_pointe_affichage_liste + montant;		    }		    liste_operations_tmp = liste_operations_tmp -> next;		}		/* on enregistre le solde final */		SOLDE_POINTE = solde_pointe_affichage_liste;		/* Troisime colonne : elle contient le solde point du compte */		pLabel = gtk_label_new ( g_strdup_printf ( "%4.2f", SOLDE_POINTE ));		gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_RIGHT, MISC_VERT_CENTER );		/* Mise en place du style du label en fonction du solde point */		pStyleLabelSoldePointe = gtk_style_copy ( gtk_widget_get_style ( pLabel ));		if ( SOLDE_POINTE >= SOLDE_MINI_VOULU )		{		    pStyleLabelSoldePointe->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeVerteNormal;		    pStyleLabelSoldePointe->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeVertePrelight;		}		else		{		    if ( SOLDE_POINTE >= SOLDE_MINI )		    {			pStyleLabelSoldePointe->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeOrangeNormal;			pStyleLabelSoldePointe->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeOrangePrelight;		    }		    else		    {			pStyleLabelSoldePointe->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeRougeNormal;			pStyleLabelSoldePointe->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeRougePrelight;		    }		}		gtk_widget_set_style ( pLabel, pStyleLabelSoldePointe );		/* Cration d'une boite  vnement qui sera rattache au solde courant du compte */		pEventBox = gtk_event_box_new ();		gtk_signal_connect ( GTK_OBJECT ( pEventBox ),				     "enter-notify-event",				     GTK_SIGNAL_FUNC ( met_en_prelight ),				     NULL );		gtk_signal_connect ( GTK_OBJECT ( pEventBox ),				     "leave-notify-event",				     GTK_SIGNAL_FUNC ( met_en_normal ),				     NULL );		gtk_signal_connect_object ( GTK_OBJECT ( pEventBox ),					    "button-press-event",					    GTK_SIGNAL_FUNC ( changement_compte ),					    GINT_TO_POINTER ( ordre_comptes_variable->data ));		gtk_table_attach ( GTK_TABLE ( pTable ), pEventBox,				   2, 3, i, i+1,				   GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK,				   0, 0 );		gtk_widget_show ( pEventBox );		gtk_container_add ( GTK_CONTAINER ( pEventBox ), pLabel );		gtk_widget_show ( pLabel );		/* Quatrime colonne : elle contient le symbole de la devise du compte */		pLabel = gtk_label_new ( devise_name_by_no (  DEVISE ));		gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_LEFT, MISC_VERT_CENTER );		gtk_table_attach ( GTK_TABLE ( pTable ), pLabel,				   3, 4, i, i+1,				   GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK,				   5, 0 );		gtk_widget_show ( pLabel );		/* Cinquime colonne : vide */		pLabel = gtk_label_new ("");		gtk_table_attach_defaults ( GTK_TABLE ( pTable ), pLabel, 4, 5, i, i+1 );		gtk_widget_show ( pLabel );		/* Sixime colonne : elle contient le solde courant du compte */		pLabel = gtk_label_new ( g_strdup_printf ( "%4.2f", SOLDE_COURANT ));		gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_RIGHT, MISC_VERT_CENTER );		/* Mise en place du style du label en fonction du solde courant */		pStyleLabelSoldeCourant = gtk_style_copy ( gtk_widget_get_style ( pLabel ));		if ( SOLDE_COURANT >= SOLDE_MINI_VOULU )		{		    pStyleLabelSoldeCourant->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeVerteNormal;		    pStyleLabelSoldeCourant->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeVertePrelight;		}		else		{		    if ( SOLDE_COURANT >= SOLDE_MINI )		    {			pStyleLabelSoldeCourant->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeOrangeNormal;			pStyleLabelSoldeCourant->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeOrangePrelight;		    }		    else		    {			pStyleLabelSoldeCourant->fg[GTK_STATE_NORMAL] = CouleurSoldeAlarmeRougeNormal;			pStyleLabelSoldeCourant->fg[GTK_STATE_PRELIGHT] = CouleurSoldeAlarmeRougePrelight;		    }		}		gtk_widget_set_style ( pLabel, pStyleLabelSoldeCourant );		/* Cration d'une boite  vnement qui sera rattache au solde point du compte */		pEventBox = gtk_event_box_new ();		gtk_signal_connect ( GTK_OBJECT ( pEventBox ),				     "enter-notify-event",				     GTK_SIGNAL_FUNC ( met_en_prelight ),				     NULL );		gtk_signal_connect ( GTK_OBJECT ( pEventBox ),				     "leave-notify-event",				     GTK_SIGNAL_FUNC ( met_en_normal ),				     NULL );		gtk_signal_connect_object ( GTK_OBJECT ( pEventBox ),					    "button-press-event",					    GTK_SIGNAL_FUNC ( changement_compte ),					    GINT_TO_POINTER ( ordre_comptes_variable->data ));		gtk_table_attach ( GTK_TABLE ( pTable ), pEventBox,				   5, 6, i, i+1,				   GTK_FILL| GTK_SHRINK, GTK_FILL| GTK_SHRINK,				   0, 0 );		gtk_widget_show ( pEventBox );		gtk_container_add ( GTK_CONTAINER ( pEventBox ), pLabel );		gtk_widget_show ( pLabel );		/* Septime colonne : elle contient le symbole de la devise du compte */		pLabel = gtk_label_new ( devise_name_by_no ( DEVISE ));		gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_LEFT, MISC_VERT_CENTER );		gtk_table_attach ( GTK_TABLE ( pTable ), pLabel,				   6, 7, i, i+1,				   GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK,				   5, 0 );		gtk_widget_show ( pLabel );		/* Huitime colonne : vide */		pLabel = gtk_label_new ("");		gtk_table_attach_defaults ( GTK_TABLE ( pTable ), pLabel, 7, 8, i, i+1 );		gtk_widget_show ( pLabel );		/* ATTENTION : les sommes effectues ici prsupposent que		   TOUS les comptes sont dans la MME DEVISE !!!!!        */		solde_global_courant += SOLDE_COURANT ;		solde_global_pointe += SOLDE_POINTE ;	    }	    i++;	}	while ( ( ordre_comptes_variable = ordre_comptes_variable->next ) );	/* Cration de la (nb_comptes + 2)ime ligne du tableau : vide */	pLabel = gtk_label_new ( "" );	gtk_table_attach_defaults ( GTK_TABLE ( pTable ), pLabel, 0, 1, i, i+1 );	gtk_widget_show ( pLabel );	/* Cration et remplissage de la (nb_comptes + 3)ime ligne du tableau :	   elle contient la somme des soldes de chaque compte */	/* Deuxime colonne */	pLabel = gtk_label_new ( COLON(_("Global balances")));	gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_LEFT, MISC_VERT_CENTER );	gtk_table_attach ( GTK_TABLE ( pTable ), pLabel,			   1, 2, i+1, i+2,			   GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK,			   20, 0 );	gtk_widget_show ( pLabel );	/* Troisime colonne : elle contient le solde total point des comptes */	pLabel = gtk_label_new ( g_strdup_printf ( "%4.2f", solde_global_pointe ));	gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_RIGHT, MISC_VERT_CENTER );	gtk_table_attach ( GTK_TABLE ( pTable ), pLabel,			   2, 3, i+1, i+2,			   GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK,			   0, 0 );	gtk_widget_show ( pLabel );	/* Quatrime colonne : elle contient le symbole de la devise du compte */	pLabel = gtk_label_new ( devise_name_by_no (((struct struct_devise *) devise -> data) -> no_devise ));	gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_LEFT, MISC_VERT_CENTER );	gtk_table_attach ( GTK_TABLE ( pTable ), pLabel,			   3, 4, i+1, i+2,			   GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK,			   5, 0 );	gtk_widget_show ( pLabel );	/* Sixime colonne : elle contient le solde total courant des comptes */	pLabel = gtk_label_new ( g_strdup_printf ( "%4.2f", solde_global_courant ));	gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_RIGHT, MISC_VERT_CENTER );	gtk_table_attach ( GTK_TABLE ( pTable ), pLabel,			   5, 6, i+1, i+2,			   GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK,			   0, 0 );	gtk_widget_show ( pLabel );	/* Septime colonne : elle contient le symbole de la devise du compte */	pLabel = gtk_label_new ( devise_name_by_no (((struct struct_devise *) devise -> data) -> no_devise));	gtk_misc_set_alignment ( GTK_MISC ( pLabel ), MISC_LEFT, MISC_VERT_CENTER );	gtk_table_attach ( GTK_TABLE ( pTable ), pLabel,			   6, 7, i+1, i+2,			   GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK,			   5, 0 );	gtk_widget_show ( pLabel );	gtk_widget_show_all ( paddingbox );	gtk_widget_show_all ( pTable );    }    gtk_widget_show_all (vbox);    /* Cration de la (nb_comptes + 4)ime (et dernire) ligne du tableau : vide */    /*  pLabel = gtk_label_new ( "" );	gtk_table_attach_defaults ( GTK_TABLE ( pTable ),	pLabel,	0, 1,	i+2, i+3 );	gtk_widget_show ( pLabel ); */}