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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
// Instanciation d'Excel
XlApp := Createoleobject('Excel.Application');
XlApp.ScreenUpdating := false;
XlApp.Visible := False;
DecimalSeparator := ',';
// Importer le fichier texte dans Excel via OLE
XlApp.Workbooks.OpenText('U:\pv_suivi_extract.txt',,,xlDelimited,,
False, False, True, False, False,False,
VarArrayOf([VarArrayOf([1,4]),
VarArrayOf([2,2]),
VarArrayOf([3,2]),
VarArrayOf([4,2]),
VarArrayOf([5,2]),
VarArrayOf([6,2]),
VarArrayOf([7,1]),
VarArrayOf([8,2]),
VarArrayOf([9,1]),
VarArrayOf([10,2]),
VarArrayOf([11,2]),
VarArrayOf([12,2])]));
// formatage des données
XlApp.Workbooks[1].WorkSheets[1].Columns['A:L'].Select;
XlApp.Workbooks[1].WorkSheets[1].Columns['A:L'].EntireColumn.AutoFit;
// Générer les tableaux croisés dynamiques & les graphiques croisés dynamiques
// TCD_UD
XlApp.Workbooks[1].WorkSheets[1].Range['A1'].Select;
XlApp.Selection.CurrentRegion.Select;
XlApp.Workbooks[1].PivotCaches.Add(xlDatabase, QuotedStr('pv_suivi_extract')+'!R1C1:R7909C12').CreatePivotTable('', 'Tableau croisé dynamique3');
XlApp.Workbooks[1].ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('MOIS').Orientation := xlRowField;
XlApp.Workbooks[1].ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('MOIS').Position := 1;
XlApp.Workbooks[1].ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('UD').Orientation := xlRowField;
XlApp.Workbooks[1].ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('UD').Position := 2;
XlApp.Workbooks[1].ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('Site').Orientation := xlColumnField;
XlApp.Workbooks[1].ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('Site').Position := 1;
XlApp.Workbooks[1].ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('Montant_pv').Orientation := xlDataField;
XlApp.Workbooks[1].WorkSheets[1].Name := 'tcd_UD';
XlApp.Workbooks[1].ActiveSheet.PivotTables('Tableau croisé dynamique3').Format(13);
XlApp.Workbooks[1].ActiveSheet.PivotTables('Tableau croisé dynamique3').PivotFields('Nombre de MONTANT_PV').Function := 0;
// constantes Excel pour la mise en forme des tableaux croisés dynamiques
{
format:
0: xlPTClassic
1: xlPTNone
2: xlReport1
3: xlReport10
4: xlReport2
5: xlReport3
6: xlReport4
7: xlReport5
8: xlReport6
9: xlReport7
10: xlReport8
11: xlReport9
12: xlTable1
13: xlTable10
14: xlTable2
15: xlTable3
16: xlTable4
17: xlTable5
18: xlTable6
19: xlTable7
20: xlTable8
21: xlTable9
}
// constantes Excel pour la fonction utilisée pour les données (au centre du tableau)
{
function:
0: somme
1: nb
2: moyenne
etc...
} |