Bonjour,

Je débute dans la génération de fichier excel à partir de php.
J'utilise pour cela les fonctions issues de "COM("Excel.application");".

Avec ce code, tout se passe bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        $nomfic = "D:/toto.xls";
        define ("FILENAME", $nomfic);
        if (file_exists(FILENAME)) {
                unlink(FILENAME);
        }
        $excel = new COM("Excel.application");
        $excel->sheetsinnewworkbook = 1;
        $excel->Workbooks->Add();
        $book = $excel->Workbooks(1);
        $sheet = $book->Worksheets(1);
        $sheet->Name = "Nom de votre feuille";
 
        $cell = $sheet->Range("A1");
        $cell->value = "toto";
 
        $book->saveas(FILENAME);
        unset($sheet);
        unset($book);
        $excel->Workbooks->Close();
        $excel->Quit();
        unset($excel);
Par contre, quand je fais appel à une fonction, j'ai un message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        function inscrireligne ($ligne, $libelle) {
                global $sheet;
                $cell = $sheet->Range("A".$ligne);
                $cell->value = "$libelle";
        }
 
        $nomfic = "D:/toto.xls";
        define ("FILENAME", $nomfic);
        if (file_exists(FILENAME)) {
                unlink(FILENAME);
        }
        $excel = new COM("Excel.application");
        $excel->sheetsinnewworkbook = 1;
        $excel->Workbooks->Add();
        $book = $excel->Workbooks(1);
        $sheet = $book->Worksheets(1);
        $sheet->Name = "Nom de votre feuille";
 
        inscrireligne ("toto", 1);
 
        $book->saveas(FILENAME);
        unset($sheet);
        unset($book);
        $excel->Workbooks->Close();
        $excel->Quit();
        unset($excel);
J'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Fatal error: Cannot pass parameter 1 by reference in C:\Program Files\EasyPHP\www\fsup\synthesebudgglobal.php on line 46
(la ligne 46 est la ligne : $book->saveas(FILENAME)

Pourriez vous m'aider ?
Mon but est de faire des fonctions qui modifie les cellules de feuilles excel (je veux utiliser des fonctions pour faire des modifications répétitives).

Merci d'avance