# Dotnet > Gnral Dotnet > Dveloppement Office System > InfoPath >  Formules de calculs - INFOPATH

## a.peiffer

Bonjour,

Je travaille actuellement  la cration d'un formulaire permettant au diffrent commerciaux de notre entreprise de prsenter leurs rsultats lors de nos runions mensuelles. Le problme est que je n'ai pas fait une ligne de code depuis 8 ans et que je dcouvre infopath depuis 3 jours.

Etant assez autodidacte je m'en sors grosso modo, mais l, je donne ma langue au chat :
J'ai 1 champs CA N, 1 champs CA N-1, et un champs EVO sens retourn le pourcentage d'volution entre CA N et CAN-1. je voudrais galement qu' l'ouverture du formulaire, les champs soient remplis de la valeur 0 pour plus de propret.

La formule utilise dans le champs EVO est :
(CAN) / (CAN-1)
et j'ai parametr le champs en tant que valeur dcimale, en pourcentage, avec l'option "ne peut pas tre vide" pour viter que cela m'affiche NaN...

Vous l'aurez compris cette formule ne marche absolument pas, auriez vous s'il vous plait un conseil  me donner?

Merci par avance,
Cordialement.

Arnaud

----------


## billout rm

Salut, 

A priori il n'y a besoin d'aucune ligne de code dans ce que vs demandez.

Pour avoir 0 dans le champ  l'ouverture d'un nouveau formulaire, il suffit de le mettre en valeur pa dfaut du champ...

Ensuite au niveau de la formule:
Il faut que mettre la rgle *sur le champ CA N* (clic droit sur ce champ puis rgle) et la si les champs CA N et CA N-1 ne sont pas vides, il faut faire:
((CA N - CA N-1) / CA N-1) pour avoir letaux de variation... (et non pas CA N / CA N-1)

Vous n'avez pas du mettre la rgle permettant de setter le taux au bon endroit...

En esprant avoir pu vous aider.
Cordialement.
Rmi

----------


## a.peiffer

Merci beaucoup,

Je suis dsol mais je dcouvre ce logiciel depuis hier, il m'intresse beaucoup mais je dois je pense travailler pour russir  m'en servir correctement.

J'ai dj grandement avanc mais je me permet de poser quelques questions supplmentaires, pour finir cette premire bauche :

1) Comment faire pour que les cases ou j'ai mis des formules de calcul ne m'affichent pas NaN ou infinity.
     ex : CAN = 0
           CAN-1 = 0 
           EVO = NaN ( Lorsque je rempli uniquement CAN, EVO= Infinity...)
C'est pas un drame mais c'est pas propre...

2) Lorsqu'on cre une Zone de texte, qu'on lui attribue des paramtres, comme par exemple dcimal, 2 chiffres aprs la virgule, contenu de la cellule centr .... et qu'on fait un copi coll de cette cellule, elles sont automatiquement lies et possdes tjrs les mme valeurs. Ne peut t'on pas faire des copies d'une zone de texte et pouvoir y mettre des valeurs diffrentes?

Je vous remercie d'avance pour vos rponses et m'excuse encore pour ces questions qui peuvent paraitre vraiment basiques.

Cordialement,
Arnaud

----------


## billout rm

Alors dans l'ordre;

1/ Il faut pour cela faire attention dans l'criture de la rgle qui affecte EVO.
Dans cette rgle, il faut tester auparavant que les champs CA N et CA N-1 ne soit pas vide (en allant dans "Dfinir une condition").

2/ Le champ est bind  une source de donnes.
Si vous faites une copie du champ, ce champ sera dupliqu mais sera bind tjs sur le mme champ.
Pour se faire, une fois le champ copier, faire clic droit puis "Modifier la liaison..." et la il faut pointer sur un nouveau champ ou en crer un autre.

Cordialement.
Rmi

----------


## a.peiffer

Au risque de paraitre un peu lourd, je suis un peu paum avec les termes. Je vais tent de dcrire ce que j'ai fait au mieux :

(Chiffre d'affaire anne N)Champs CAN : type de donne dcimale.
(Chiffre d'affaire anne N-1)Champs CAN-1 : type de donne dcimale.
(Evolution du CA de N-1 a N en %)Champs EVOCA : 
                      type de donne dcimale 'pourcentage'
                      Valeur par defaut : rien 
                      Rgle : 
                              Condition : CAN et CAN-1 n'est pas vide
                              Action : dfinir la valeur d'un champs
                              Champs : EVOCA (bizarement je n'y vois qu'un point quand je selectionne EVOCA
                              Valeur  ::(: (CAN - CAN-1) / (CAN-1))



Mal grs toutes vos indications je n'y comprends toujours rien, je manipule des logiciels informatique toute la journe et de faon assez pousse, mais la je me sens comme le premier des dbutant.
je devrait peut-tre m'acheter un ordissimo  ::): 

Merci de votre retour, en esperant ne pas trop vous dranger.

----------


## billout rm

Serait ce possible d'envoyer ce formulaire (le .xsn) en MP en prcisant le fonctionnement actuel et le fonctionnement souhait.
J'essaierai de le corriger rapidement.


Cordialement.
Rmi

----------


## a.peiffer

Bonjour, et merci de votre proposition d'aide !

Le formulaire que je souhaite crer doit me servir  crer un rapport d'activit entre l'anne en cours (N) et l'anne passe (N-1).

J'ai normment de donnes  renseigner mais ce dont j'aurais besoin c'est d'un exemple sur quelques case : 

------------------Anne N  ----------Anne N-1-------- Evolution N-1  N
Chiffre d'affaire --Donne saisie----- Donne saisie-------Donne calcule %
Marge dgage---Donne saisie------Donne saisie ------Donne calcule %
% marge---------Donne calcule%--Donne calcule%--Donne calcule %

J'ai russi  crer mon formulaire complet mais il est d'une lenteur monumentale  l'excution, surement du au fait que j'ai mal fait mes conditions sur les cases....

----------


## a.peiffer

Voici donc en pices jointe le fichier exemple de ce que je cherche  faire.

Je cherche  avoir un formulaire que je pourrais enregistrer avec un nom different (ex: runion 08/07/08)  chaque fois que je le rempli pour pouvoir garder un suivi. mon but n'est en aucun cas de publier ce formulaire ou d'en stocker les valeurs sur un serveur. C'est vraiment basique. 

En revanche ce logiciel m'intrigue beaucoup et je me pencherai sur ses fonctions avances une fois que j'aurai russi  faire un formulaire simple  ::): 

Merci par avance.

----------


## billout rm

Perso il marche trs bien sur ma machine ce formulaire (je suis dans une VPC Xp a 1,2 de RAM...).

Au niveau formulaire:
Tout d'abord, je vous conseille de ne pas mettre de "-" dans le nom de tes champs, aprs ce n'est pas une prco officielle...J'ai renomm "CAN-1" en "CAN_1"

 Ensuite, j'ai corrig la rgle au niveau du CA.
Comme vous verrez, il n'y a plus rien sur "EVOCA" mais seulement 1 rgle sur CA et 1 autre sur CAN_1.

Voila en esprant avoir pu vous aider.

Attention de mme dans la source de donne  enlever tous les champs inutiles (cres auparavant mais non utiliss). Une accumulation peut ralentir le formulaire (dans une certaine mesure bien sr, ce n'est pas un champ qi est pnalisant).


Cordialement.
Bonne journe

----------

