# Dotnet > Gnral Dotnet > Dveloppement Office System > InfoPath > [IP-2007] Formule de calcul tableau extensible

## benneb

bonjour, 

j'ai un premier contrle text o l'utilisateur renseigne un montant 

puis dans mon tableau extensible j'aimerais que la premire ligne reprenne cette valeur en ajoutant des valeurs de la mme ligne

puis dans la deuxime, que le montant de la ligne prcdente soir repris + ou - des valeurs de la mme ligne etc

soit en formule de calcul, ou soit en C#

comment rcuprer la valeur prcdente ? 
et comment faire pour que seule la premire ligne ait une formule diffrente ?

merci d'avance

----------


## billout rm

Bonjour,

Cela est faisable en code manag assez simplement.
Sur le changement de ta valeur en dehors de la section extensible, il faut ajouter un vnement "Changed" (infopath 2007) ou "onAfterChange" (infopath 2003).

Ensuite il faut utiliser du "XPATH" en utilisant l'attribut "position".
Par exemple "selectsinglenode("my:groupe2[position()=1]/my:champ1")

Je cherche une mthode facile sans faire de code et je te mets la solution ds que je trouves.

Cordialement.

----------


## benneb

merci, c'est sympa,  ::ccool:: 

et faudrait aussi que ce soit compatible pour une utilisation dans le navigateur avec sharepoint

j'ai dj regard ce tuto pour activer le code manag
http://www.bizsupportonline.net/blog...point-library/

je ne sais pas si ce sera utile

----------


## benneb

j'ai presque reussi avec un mlange de code manag et de formule

code manag :


```

```

mais je ne comprends pas pourquoi ce code fonctionne que pour la premire ligne du tableau ( mais ca m'arrange  ::aie::  )
les lignes suivantes ajouts restent vide pour le contrle 40 .... et sans la formule qui suit

ensuite je rajoute dans la formule 40



```
../preceding-sibling::*/my:champ40 + ../my:champ27 - ../my:champ39
```


mais ca ne reprend pas la ligne prcdente, mais la premire ligne, donc chaque ligne utilise la premire ligne pour faire son calcul

et dans l'inspecteur de logique j'ai pour le champ40 :

valeurs calcules par dfaut
champ40 : [introuvable] + champ27 - champ39

----------


## benneb

> Cela est faisable en code manag assez simplement.
> 
> Je cherche une mthode facile sans faire de code et je te mets la solution ds que je trouves.


as tu eu un peu de temps pour chercher ?

----------

