Bonjour,
Alors j'ai un gros problème que je dois résoudre le plus vite possible pour une raison de timing, je vous remercie donc à l'avance.
Vu le peu de documentation en la matière et mon manque de connaissance en programmation, je vous soumets donc le problème suivant:
Mon but est de copier un classeur d'un fichier xlsx vers un nouveau fichier que je crée dans ce code.

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
 
   $excel=new COM("Excel.Application"); //Instanciation de l'objet COM
   $excel->sheetsinnewworkbook=2;//2 feuilles de calcul dans le document
   $excel->Workbooks->Add();//Ajout d'un classeur
   $book=$excel->Workbooks(1);//$book contient le classeur actif
   $sheet=$book->Worksheets(1);//$sheet contient la 1e feuille active
   $sheet2=$book->Worksheets(2);//$sheet contient la 2e feuille active
   $sheet->Name="sheetref";//Attribution d'un nom à la feuille
   $sheet2->Name="macro";//Attribution d'un nom à la feuille
 
	$file2 = $path."/reference.xlsx";
	// Pour lire 
	$Workbook2 = $excel->Workbooks->Open("$file2") or Die("Did not open $file2 $Workbook2");
	$Worksheet = $Workbook2->Worksheets(1);
	$Worksheet->activate; 
 
	//Copie d'une feuille à l'autre
	//$sheet2=$Worksheet;
	//$sheet2->Copy($Workbook2);
	$book->Worksheets(2)->Copy($Workbook2->Worksheets(1));
La dernière ligne est supposée copier ma page mais je ne vous cache pas que ca déconne complètement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 $book->SaveCopyAs($file);//Sauvegarde du fichier
 
	//Insérer 2E page(macro) dans fichier $idquestionnaire.xlsx
	unset($sheet);//Libération de $sheet
	unset($sheet2);//Libération de $sheet2
	unset($Worksheet);//Libération de $sheet
	unset($book);//Libération de $book
	$excel->Workbooks->Close();//Fermeture du classeur
	$excel->Quit();//On quitte Excel
	unset($excel);//Libération de l'instance $excel
Au niveau des enregistrements ca déconne aussi, je ne sais pas quoi et comment fermer et sauver les classeurs et fichiers sans que des (nombreuses) demandes de confirmation ne me sautent aux yeux. De plus les applications tournent toujours en arrière plan.
Si vous avez de bons tutos à ce propos je suis preneur aussi, je ne demande pas mieux que d'apprendre.