Bonjour,
Je suis en train d'écrire un programme qui manipule des matrices. Pour pouvoir le déboguer facilement, je souhaiterais enregistrer ces matrices dans des fichiers Excel (pour une question de lisibilité).
Mon programme enregistre bien les données de ma matrice dans le fichier Excel mais Excel me demande à chaque fois si je souhaite bien enregistrer les modifications apportées au fichier, ce qui est lourd. Je souhaiterais enregistrer automatiquement.

Voilà mon 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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
procedure ConnexionExcel(var vMSExcel : variant);
begin
  try
    vMSExcel := GetActiveOleObject('Excel.Application');
   except
    vMSExcel := CreateOleObject('Excel.Application');
  end;
end;
 
procedure OuvertureFichierExcel(var vMSExcel,vXLWorkbook, vXLWorkbooks : variant;aFileName : AnsiString);
begin
  //vMSExcel.Visible := true;
  vXLWorkbooks := vMSExcel.Workbooks;
  vXLWorkbook  := vXLWorkbooks.Open(aFileName);
end;
 
 
 
procedure EcrireTableau_E2(aFileName : AnsiString);
var
   vMSExcel : variant;
   vXLWorkbook, vXLWorkbooks : variant;
   aSheetName : AnsiString;
   vWorksheet : variant;
   aRange, aValue : AnsiString;
   vCell : variant;
   i,j : integer;
begin
    ConnexionExcel(vMSExcel);
    OuvertureFichierExcel(vMSExcel,vXLWorkbook,vXLWorkbooks,aFileName );
 
    aSheetName := 'Feuil1';
    vWorksheet := vXLWorkbook.WorkSheets[aSheetName];
 
    // écriture des données du tableau E2
   {...}
 
   // j'ai essayé différentes fonctions comme :
   // vMSExcel.Save;
   // vMSExcel.ActiveWorkBook.SaveAs('c:\E2.xslx');
   // mais ça plante à chaque fois
    vMSExcel.Quit;
    vMSExcel := unassigned;
 
end;
Connaissez-vous une fonction permettant de résoudre ce problème?
Merci.