Ajouter un formule avec PHPExcel

Résolu/Fermé
zerdg Messages postés 86 Date d'inscription jeudi 21 mai 2015 Statut Membre Dernière intervention 30 novembre 2017 - 28 mai 2015 à 12:52
zerdg Messages postés 86 Date d'inscription jeudi 21 mai 2015 Statut Membre Dernière intervention 30 novembre 2017 - 29 mai 2015 à 16:16
Bonjour,
j'essaye d'ajouter la formule suivante dans un fichier excel par PHPExcel:
=NB.SI(AA:AA;"*mot*")
mais je n'y arrive pas comment je peux faire ?


A voir également:
  • Ajouter un formule avec PHPExcel
  • Phpexcel - Télécharger - Divers Web & Internet

6 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
28 mai 2015 à 13:42
Bonjour,

mais je n'y arrive pas

Peux tu nous montrer ce que tu as essayé de faire ? car sans ça.. difficile pour nous de voir où tu te serais trompé....

**** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
0
zerdg Messages postés 86 Date d'inscription jeudi 21 mai 2015 Statut Membre Dernière intervention 30 novembre 2017 2
28 mai 2015 à 13:51
je met juste la ligne de code où se situe la formule
$sheet->setCellValueByColumnAndRow(31,1,'=NB.SI(AA:AA;"*acceuil*")');
0
zerdg Messages postés 86 Date d'inscription jeudi 21 mai 2015 Statut Membre Dernière intervention 30 novembre 2017 2
28 mai 2015 à 15:40
Up s'il vous plait.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
28 mai 2015 à 15:59
Deux choses :
1 - regardes du côté de : PHPExcel_Cell_DataType::TYPE_FORMULA
2 - Il me semble qu'il faut utiliser les fonctions ANGLAISES et non FRANCAISES.

par exemple :
$objPHPExcel->getSheet(1)->setCellValue('X1', '=SUMPRODUCT(1/COUNTIF(B2:B'.$s.',B2:B'.$s.'))', PHPExcel_Cell_DataType::TYPE_FORMULA);

0
zerdg Messages postés 86 Date d'inscription jeudi 21 mai 2015 Statut Membre Dernière intervention 30 novembre 2017 2
28 mai 2015 à 16:39
Merci j'ai pu progresser mais j'ai toujours une erreur avec excel j'ai un zero qui s'affiche et si j'utilise libre calc j'ai une erreur 508 mais la formule est présente ce qui n'était pas le cas avant.
0
zerdg Messages postés 86 Date d'inscription jeudi 21 mai 2015 Statut Membre Dernière intervention 30 novembre 2017 2
29 mai 2015 à 13:47
UP s'il vous plait
quand mon fichier excel s'ouvre j'ai l'erreur suivante :
le nombre dans cette cellule est au format texte ou est précédé d'une apostrophe.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
29 mai 2015 à 14:25

Merci j'ai pu progresser mais j'ai toujours une erreur avec excel j'ai un zero qui s'affiche

Un zéro qui s'affiche ou ?
Sachant que ta formule nb.si ... ben... affiche un zéro si aucun résultat trouvé... normal....!


quand mon fichier excel s'ouvre j'ai l'erreur suivante :
le nombre dans cette cellule est au format texte ou est précédé d'une apostrophe.

Sans savoir quel code tu utilises désormais ... impossible pour nous de te répondre.
0
zerdg Messages postés 86 Date d'inscription jeudi 21 mai 2015 Statut Membre Dernière intervention 30 novembre 2017 2
Modifié par zerdg le 29/05/2015 à 14:51
Je vais essayer d'être clair
le bout de code qui me permet d'utiliser la formule actuellement :
$sheet3->setCellValue ("AF1" ,'=COUNTIF(AA:AA;"*accueil*")',PHPExcel_Cell_DataType::TYPE_FORMULA);

Sous excel j'obtient l'erreur avec le zero et sous libre calc une erreur #508 mais avec la formule qui est présente.
la formule devrais afficher deux non pas zéro. ce qui est vérifié quand je rentre la formule ;
=NB.SI(AA:AA;"*accueil*")
0
zerdg Messages postés 86 Date d'inscription jeudi 21 mai 2015 Statut Membre Dernière intervention 30 novembre 2017 2
29 mai 2015 à 16:16
J'ai eu là réponse que j'attentais sur un autre forum je met la réponse ici:
$sheet->setCellValue ("AF1" ,'=COUNTIF(AA:AA,"*accueil*")',PHPExcel_Cell_DataType::TYPE_FORMULA);


le problème résidait dans le fait que le séparateur était une virgule et non un point virgule.
0