add: p_tab_nom_de_compte_variable = p_tab_nom_de_compte + operation -> no_compte;  MISE_A_JOUR = 1; verification_mise_a_jour_liste ();
context: void verification_echeances_a_terme ( void ){  GDate *date_courante;  GSList *pointeur_liste;  GSList *ancien_pointeur;  struct struct_devise *devise;  struct struct_devise *devise_compte;  /*   les chances  saisir sont revrifies  chaque fois, par contre, les chances saisies sont ajoutes  la liste */  /* de celles dj saisies */  echeances_a_saisir = NULL;/* rcupre la date du jour et la met en format gdate */  date_courante = g_date_new ();  g_date_set_time ( date_courante,		    time ( NULL ));  /* on y ajoute le dcalage de l'chance */  g_date_add_days ( date_courante,		    decalage_echeance );  /*   on fait le tour des chances, si elle est auto, elle est enregistre, sinon elle est juste rpertorie */  pointeur_liste = gsliste_echeances;  ancien_pointeur = NULL;  while ( pointeur_liste )    {      if ( ECHEANCE_COURANTE -> auto_man )	{	      /* 	      tant que cette chance auto n'est pas arrive  aujourd'hui, on recommence */	 	  while ( pointeur_liste != ancien_pointeur		  &&		  g_date_compare ( ECHEANCE_COURANTE -> date, date_courante ) <= 0 )	    {	      struct structure_operation *operation;	      gint virement;	      /* cre l'opration */	      operation = calloc ( 1,				   sizeof ( struct structure_operation ) ); 	      /* 		  remplit l'opration */	      operation -> jour = ECHEANCE_COURANTE -> jour;	      operation -> mois = ECHEANCE_COURANTE -> mois;	      operation -> annee = ECHEANCE_COURANTE -> annee;	      operation ->date = g_date_new_dmy ( operation ->jour,						  operation ->mois,						  operation ->annee);	      operation -> no_compte = ECHEANCE_COURANTE -> compte;	      operation -> tiers = ECHEANCE_COURANTE -> tiers;	      operation -> montant = ECHEANCE_COURANTE -> montant;	      operation -> devise = ECHEANCE_COURANTE -> devise;	      /* demande si ncessaire la valeur de la devise et du change */	      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + operation -> no_compte;	      /* rcupration des devises de l'op et du compte */ 	      devise = g_slist_find_custom ( liste_struct_devises,					     GINT_TO_POINTER ( operation -> devise ),					     ( GCompareFunc ) recherche_devise_par_no ) -> data;	      devise_compte = g_slist_find_custom ( liste_struct_devises,						    GINT_TO_POINTER ( DEVISE ),						    ( GCompareFunc ) recherche_devise_par_no ) -> data;	      if ( !( operation -> no_operation		      ||		      devise -> no_devise == DEVISE		      ||		      ( devise_compte -> passage_euro && !strcmp ( devise -> nom_devise, _("Euro") ))		      ||		      ( !strcmp ( devise_compte -> nom_devise, _("Euro") ) && devise -> passage_euro )))		{		  /* c'est une devise trangre, on demande le taux de change et les frais de change */		  demande_taux_de_change ( devise_compte,					   devise,					   1,					   (gdouble ) 0,					   (gdouble ) 0 );		  operation -> taux_change = taux_de_change[0];		  operation -> frais_change = taux_de_change[1];		  if ( operation -> taux_change < 0 )		    {		      operation -> taux_change = -operation -> taux_change;		      operation -> une_devise_compte_egale_x_devise_ope = 1;		    }		}	      else		{		  operation -> taux_change = 0;		  operation -> frais_change = 0;		}	      operation -> categorie = ECHEANCE_COURANTE -> categorie;	      operation -> sous_categorie = ECHEANCE_COURANTE -> sous_categorie;	      if ( !ECHEANCE_COURANTE -> categorie && ECHEANCE_COURANTE -> compte_virement != -1 )		virement = 1;	      else		virement = 0;	      if ( ECHEANCE_COURANTE -> notes )		operation -> notes = g_strdup ( ECHEANCE_COURANTE -> notes );	      operation -> type_ope = ECHEANCE_COURANTE -> type_ope;	      if ( ECHEANCE_COURANTE -> contenu_type )		operation -> contenu_type = ECHEANCE_COURANTE -> contenu_type;	      operation -> auto_man = ECHEANCE_COURANTE -> auto_man;	      operation -> imputation = ECHEANCE_COURANTE -> imputation;	      operation -> sous_imputation = ECHEANCE_COURANTE -> sous_imputation;	      operation -> no_exercice = ECHEANCE_COURANTE -> no_exercice;	      /*   on a fini de remplir l'op, on peut l'ajouter  la liste */	      ajout_operation ( operation );	      /*   si c'tait un virement, on cre une copie de l'op, on l'ajoute  la liste puis on remplit les relations */	      if ( virement )		{		  struct structure_operation *operation_2;		  operation_2 = calloc ( 1,					 sizeof ( struct structure_operation ) );		  /* remplit la nouvelle op */      		  operation_2 -> jour = operation -> jour;		  operation_2 -> mois = operation -> mois;		  operation_2 -> annee = operation -> annee;		  operation_2 ->date = g_date_new_dmy ( operation_2->jour,							operation_2->mois,							operation_2->annee);		  operation_2 -> no_compte = ECHEANCE_COURANTE -> compte_virement;      		  operation_2 -> montant = -operation -> montant;		  operation_2 -> devise = operation -> devise;		  operation_2 -> tiers = operation -> tiers;		  if ( operation -> notes )		    operation_2 -> notes = g_strdup ( operation -> notes);		  operation_2 -> type_ope = operation -> type_ope;		  if ( operation -> contenu_type )		    operation_2 -> contenu_type = operation -> contenu_type;		  operation_2 -> auto_man = operation -> auto_man;		  /*   on a fini de remplir l'op, on peut l'ajouter  la liste */		  ajout_operation ( operation_2 );		  /* on met maintenant les relations entre les diffrentes op */		  operation -> relation_no_operation = operation_2 -> no_operation;		  operation -> relation_no_compte = operation_2 -> no_compte;		  operation_2 -> relation_no_operation = operation -> no_operation;		  operation_2 -> relation_no_compte = operation -> no_compte;		}	      echeances_saisies = g_slist_append ( echeances_saisies,						   operation );	      /* passe l'chance  la prochaine date */	      incrementation_echeance ( ECHEANCE_COURANTE );	      if ( !g_slist_find ( gsliste_echeances,				   ECHEANCE_COURANTE ) )		{		  if ( !ancien_pointeur )		    ancien_pointeur = gsliste_echeances;		  pointeur_liste = ancien_pointeur;		}	    }	}      else	/* ce n'est pas une chance automatique, on la rpertorie dans la liste des chances  saisir */	if ( g_date_compare ( ECHEANCE_COURANTE -> date,			      date_courante ) <= 0 )	  echeances_a_saisir = g_slist_append ( echeances_a_saisir ,						ECHEANCE_COURANTE );      if ( ancien_pointeur == gsliste_echeances && pointeur_liste == ancien_pointeur )	ancien_pointeur = NULL;      else	{	  ancien_pointeur = pointeur_liste;	  pointeur_liste = pointeur_liste -> next;	}    }  if ( echeances_saisies )    {      remplissage_liste_echeance ();      modification_fichier ( TRUE );    }}