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 46 47 48 49 50 51 52 53 54 55 56 57
   |  
int NbParties = CalculNbParties();
 ProgressBar1->Max = NbParties;
 ProgressBar1->Position = 0;
 
 int Progression = 0;
 AnsiString Text = "Export des résultats en cours... Ligne "+IntToStr(Progression)+"/"+IntToStr(NbParties);
 
 AnsiString nf = nomfichier;
 int x = nf.Length();
 nf[x-2]='x';
 nf[x-1]='l';
 nf[x]='s';
 
 Variant vXLWorkbooks, vXLWorkbook, vWorksheet, vMSExcel;
 AnsiString vFileName = nf;                                     //nom du fichier
 vMSExcel = Variant::CreateObject("Excel.Application");         //ouverture Excel
 vMSExcel.OlePropertySet("Visible", false);                     //invisble pour l'utilisateur
 vMSExcel.OlePropertySet("SheetsInNewWorkbook", 1);             //une seule feuille ouverte
 vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");           //travail par classeur
 vXLWorkbook = vXLWorkbooks.OleFunction("Add");                 //ajout d'un classeur
 vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",1);       //sélection de la 1ère feuille
 vWorksheet.OlePropertySet("Name", "Tournoi");                  //nom de la feuille
 
 Variant vRange, vValue;                                        //mise au bon format des colonnes
 vRange = vWorksheet.OlePropertyGet("Range", "A:A");            //format texte pour la colonne A
 vValue = "@";
 vRange.OlePropertySet("NumberFormat", vValue);
 vRange = vWorksheet.OlePropertyGet("Range", "B:B");            //format texte pour la colonne B
 vValue = "@";
 vRange.OlePropertySet("NumberFormat", vValue);
 vRange = vWorksheet.OlePropertyGet("Range", "C:C");            //format JMA pour la colonne C
 vValue = "jj/mm/aaaa";
 vRange.OlePropertySet("NumberFormat", vValue);
 
 Variant vCell, vL, vC, vValueCell;
 
 vL = 1; //on remplit la première ligne
 vC = 1;
 vValueCell = "LICV";
 vCell = vWorksheet.OlePropertyGet("Cells", vL, vC);
 vCell.OlePropertySet("Value", vValueCell);
 vCell.OlePropertySet("HorizontalAlignment",-4108);               //Centrer  horizontalement la cellule
 vC = 2;
 vValueCell = "LICD";
 vCell = vWorksheet.OlePropertyGet("Cells", vL, vC);
 vCell.OlePropertySet("Value", vValueCell);
 vCell.OlePropertySet("HorizontalAlignment",-4108);
 vC = 3;
 vValueCell = "DATE";
 vCell = vWorksheet.OlePropertyGet("Cells", vL, vC);
 vCell.OlePropertySet("Value", vValueCell);
 vCell.OlePropertySet("HorizontalAlignment",-4108);
 vL = 2;
 
 for (int i=0; i<t->nbtab(); i++)
  {...} | 
Partager