Bonjour Yves,
yves DHENAIN a �crit le 27/04/05 19:35 :
Salut TONY, si tu as le temps (sinon pas grave), � quoi pourrait ressembler la ligne � ajouter � ta classe php pour que la derni�re ligne de la colonne $j contienne la formule =SOMME.SI(E2:E86;"<>0";E2:E86)/NB.SI(E2:E86;"<>0")
E �tant la colonne $j
Avant de te r�pondre, je rappelle pour les personnes ne connaissant pas mon programme, que sho 0.95 (ou SHOOo) est une classe PHP permettant de g�n�rer une page HTML (Table) � partir d'une requ�te SQL ou d'une variable PHP de type Tableau. Dans cette table HTML, il est possible de trier chaque colonne et de naviguer dans les diff�rentes pages du r�sultat.
Cette class PHP permet aussi (en m�me temps) de cr�er un fichier OpenOffice Calc contenant le r�sultat de la requ�te ou de la variable tableau PHP.
Cette class (SHOOo) avec un fichier OpenOffice contenant plus d'explications est disponible � cette adresse :
-> http://fr.openoffice.org/Documentation/Outils/index.html
Et comme un exemple vaut mieux qu'un long discours, une d�monstration est disponible ici :
-> http://www.coagul.org/sho0.95/
Donc, n'h�sitez pas � essayer cette class et � faire vos commentaires sur cette liste (ou en priv�), car Yves est pour le moment et � ma connaissance le seul � l'utiliser � part moi :-)
Donc Yves, pour en revenir � ta question, j'ai essay� de faire ce que tu demandes et voila les instructions pour y arriver :
ATTENTION : Cette instruction ne concerne que l'ajout d'une formule personnalis�e dans le fichier OOo et non pas dans la table HTML
�crire la nouvelle formule dans un fichier Calc et regarder la syntaxe de celle-ci dans le fichier content.xml. Exemple :
table:formula="=SUMIF([.A2:.A11];"<>0";[.A2:.A11])/COUNTIF([.A2:.A11];"<>0")"
Modifier le programme pour indiquer qu'il faut utiliser une autre formule (ex : 0=Rien, 1=Total et 9=AutreFormume) : Exemple
-> $sho->TabTotal =array(9, 0, 1, 0);
Corriger la m�thode � SqlToHtmlTableTotal � pour que la ligne de total de la table HTML s'affiche correctement avec le � 9 � indiqu� en param�tre :
Remplacer :
if ($LeTotal==0) echo ...
if ($LeTotal==1) echo ...
Par :
if ($LeTotal!=1) echo ...
if ($LeTotal==1) echo ...
Ajouter la nouvelle formule dans la m�thode � OOoFin �
Apr�s :
if ($LeTotal==1) {
$ColName=chr(65+$j); $LaFonction="table:formula=\"=SUM([.".$ColName."2:.$ColName".($NbLig+1)."])\"";
}
Ajouter :
if ($LeTotal==9) {
$ColName=chr(65+$j);
$Plage=".".$ColName."2:.$ColName".($NbLig+1);
$LaFonction="table:formula=\"=SUMIF([$Plage];"<>0";[$Plage])/COUNTIF([$Plage];"<>0")\"";
}N'h�site pas si tu as des questions ou si �a ne marche pas.
Tony
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
