Donnez vie à vos documents numériques !
 

Répondre à : Valeur maximale

abracadabraPDF Forums PDF – Général Valeur maximale Répondre à : Valeur maximale

#72966
bebarth
Maître des clés

bonsoir,
Dans le principe, voici un script que l’on peut placer en script de calcul d’un seul champ :
for (var laLigne=1; laLigne<=15; laLigne++) {
var lesValeurs=[];
for (var i=1; i<=10; i++) {
lesValeurs.push([i,this.getField("a."+laLigne+"."+i).value]);
this.getField("a."+laLigne+"."+i).fillColor=["T"];
}
lesValeurs.sort(function(a,b){return a[1]-b[1]});
if (this.getField("a."+laLigne+"."+lesValeurs[0][0]).value!="") this.getField("a."+laLigne+"."+lesValeurs[0][0]).fillColor=color.green;
if (this.getField("a."+laLigne+"."+lesValeurs[9][0]).value!="") this.getField("a."+laLigne+"."+lesValeurs[9][0]).fillColor=color.red;
}

Ce script est exécuté après chaque évènement, ce qui risque de ralentir si il y a beaucoup d’autres calcul.

Si les valeur sont entrées manuellement pour chaque champ, il vaut mieux mettre une fonction en script de document :
function couleur() {
var ligne=event.target.name.split(".");
var laLigne=ligne[1];
var lesValeurs=[];
for (var i=1; i<=10; i++) {
lesValeurs.push([i,this.getField("a."+laLigne+"."+i).value]);
this.getField("a."+laLigne+"."+i).fillColor=["T"];
}
lesValeurs.sort(function(a,b){return a[1]-b[1]});
if (this.getField("a."+laLigne+"."+lesValeurs[0][0]).value!="") this.getField("a."+laLigne+"."+lesValeurs[0][0]).fillColor=color.green;
if (this.getField("a."+laLigne+"."+lesValeurs[9][0]).value!="") this.getField("a."+laLigne+"."+lesValeurs[9][0]).fillColor=color.red;
}

…et de l’appeler avec un script de champ désactivé :
couleur();

@+
😎

Attachments:
You must be logged in to view attached files.