Ajouter un formule avec PHPExcel

Résolu
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 ?

6 réponses

  1. Modérateur
    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

    .
    1. je met juste la ligne de code où se situe la formule
      $sheet->setCellValueByColumnAndRow(31,1,'=NB.SI(AA:AA;"*acceuil*")');
  2. Modérateur
    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);
    

    1. 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.
  3. 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.
    1. Modérateur

      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.
      1. 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*")
    2. 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.

      Discussions similaires

      exo pix

      2 réponses