Salut � tous,

derni�re question et j'ai fini avec mon interfa�age Excel

Pour rappel : je cr�e un fichier "xls" qui est en fait un fichier csv (je sais je triche)

Ensuite je l'ouvre avec la m�thode OpenText comme suit :

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
 
// Ouverture d'Excel et traitement du fichier
 Variant vXLWorkbooks, vXLWorkbook, vMSExcel;
 AnsiString vFileName = nf; //nom du fichier
 Variant vOrigin = 1; // = xlWindows format Windows (par défaut)
 Variant vStartRow = 1; // on commence à la 1ère ligne (par défaut)
 Variant vDataType = 1; // = xlDelimited format délimité (par défaut)
 Variant vTextQualifier = 1; // = xlTextQualifierDoubleQuote qualificateur de texte (par défaut)
 Variant vConsecutiveDelimiter = false; // pas de délimitateur consécutif
 Variant vTab = false; // pas délimitateur tab
 Variant vSemicolon = true; // délimitateur ";"
 Variant vComma = false; // pas délimitateur virgule
 Variant vSpace = false; // pas délimitateur espace
 Variant vOther = false; // pas délimitateur autre
 Variant vOtherChar = ""; // délimitateur Other non actif
 
 Variant vFieldInfo;     // On veut {{1,2},{2,2},{3,4}}
 vFieldInfo = VarArrayCreate(OPENARRAY(int, (0, 2, 0, 1)), varInteger);
 vFieldInfo.PutElement(1,0,0); //on affecte 1 (Colonne Excel N°1) à la ligne 0 colonne 0 du tab
 vFieldInfo.PutElement(2,0,1); //on affecte 2 (Format Texte = 2) à la ligne 0 colonne 1 du tab
 vFieldInfo.PutElement(2,1,0); //on affecte 2 (Colonne Excel N°2) à la ligne 1 colonne 0 du tab
 vFieldInfo.PutElement(2,1,1); //on affecte 2 (Format Texte = 2) à la ligne 1 colonne 1 du tab
 vFieldInfo.PutElement(3,2,0); //on affecte 3 (Colonne Excel N°3) à la ligne 2 colonne 0 du tab
 vFieldInfo.PutElement(4,2,1); //on affecte 4 (Format Date JMA = 4) à la ligne 2 colonne 1 du tab
 
 vMSExcel = Variant::CreateObject("Excel.Application");
 vMSExcel.OlePropertySet("Visible", true);
 vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
 vXLWorkbook = vXLWorkbooks.OleFunction("OpenText", vFileName.c_str(), vOrigin, vStartRow, vDataType, vTextQualifier, vConsecutiveDelimiter, vTab, vSemicolon, vComma, vSpace, vOther, vOtherChar, vFieldInfo);
Dernier probl�me : la sauvegarde de mon fichier :

Si je fais un :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
 
vXLWorkbook.OleProcedure("Save");
j'ai pas de pb � la compilation mais lors de l'�xecution, plantage sur cette ligne. Je pense que cela vient du fait de l'ouverture en mode texte et sauvegarde en mode Excel

Une derni�re id�e et je ne vous emb�te plus (du moins avec Excel !)

Xav