Delphi et Excel : Lenteur sur un Insert
Bonjour,
J'ai dû effacer une ligne par inadvertance.
Depuis, la source qui suit met plusieurs minutes pour exécuter la ligne qui exécute l'insertion de la ligne dans la feuille Excel et ce uniquement au premier passage dans la boucle; après, ça roule.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
ExcelApp := CreateOleObject('Excel.Application');// création du lien OLE
ExcelApp.Workbooks.Open(ExtractFilePath(Application.ExeName) + 'VerkElec.xlt');
Cursor := crHourGlass;
NbrCandid := ConseilSpinEdit.Value;
ExcelApp.ActiveWorkBook.Unprotect;
ExcelApp.WorkSheets[1].Activate ;
For k := 1 to NbrCandid do
Begin
if k < (NbrCandid - 1) then ExcelApp.Cells[k+6,1].EntireRow.Insert;
ExcelApp.Cells[5 + k ,2].Value := k;
ExcelApp.Cells[5+k,4].Formula := '=SUM(F'+ IntToStr(k+5) +
':G'+ IntToStr(k+5) + ')';
end; |
Quelqu'un aurait-il une idée ?
Merci d'avance
[Balises CODE rajoutées par Pedro. Merci d'y penser à l'avenir]