Bonjour à tous,
je reviens car j'ai un problème avec la génération d'un fichier excel multi feuille.

A l'heure actuelle j'ai un script qui génère un fichier excel avec des produits suivant différentes catégories.
J'aimerai maintenant avoir une feuille de produits par catégorie.
Jusque là simple (ou presque), avant la génération de mon fichier je compte le nombre catégorie pour savoir combien de feuilles je dois générer.
Mon problème vient au moment de créer les feuilles et d'écrire sur celles-ci.
Je suis parti de l'exemple de MaitrePylos:
http://g-ernaelsten.developpez.com/t...ge=extends#3.4

Déjà mon soucis c'est que le nombre de feuille varie suivant le nombre cases cochées de mon formulaire. Donc je peux en avoir une comme deux ou dix ...
Je voulais donner à chaque nouvelle "sheet" le numéro avec une boucle for.
Voici mon code avec mon "idée":
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
 
for($j=0;$j<$i;$j++)
	{
		if ($j == 0)
		{
			$workbook = new PHPExcel;
			$sheet = $workbook->getActiveSheet();				
  			$sheet->setTitle($tabfeuille[$j]);
		}
		else
		{
			$sheet.$j = $workbook->createSheet();
			$sheet.$j ->setTitle($tabfeuille[$j]);
			$sheet.$j = $workbook->getActiveSheet();	
		}
 
instructions de génération du fichier excel ....
Dans l'idée, lorsque nous sommes à la catégorie numéro 0 facile, on crée le fichier et la feuille.
Mais après il est impossible de faire $sheet.$j pour créer et écrire dans la feuille suivante car il y a une erreur.
Et évidemment les instructions qui suivent se font uniquement sur la première feuille.
Quelqu'un a-t-il réussi à faire un truc qui ressemble à ce que je chercher à faire?
Un p'tit coup de pouce serait le bienvenue.

EDIT: Donc du coup j'ai trouvé comment faire pour avoir plusieurs feuilles et rendre actif la dernière.
Lors de mon while qui liste tout mes produits je teste si je suis à la première feuille ou non avec un booléen et je crée mes feuilles et les rends active comme ceci:

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
 
 
while($resultat = mysql_fetch_array($envoi))
{
 if ($premfeuille == true)
 {
  $workbook = new PHPExcel;
  $workbook->setActiveSheetIndex($i);	
  $sheet = $workbook->getActiveSheet();				
  $sheet->setTitle($titre);
  $i++;
  $premfeuille = false;
 }
 else
 {
  $sheet = $workbook->createSheet($i);
  $workbook->setActiveSheetIndex($i);	
  $sheet = $workbook->getActiveSheet();
  $sheet ->setTitle($titre);
  $i++;
 }
 
 
}
En espèrant que cela aidera quelqu'un.