Bonjour à toutes/tous les programmeuses/eurs,
J'ai trouvé comment sauvegarder des données d'un programme dans un fichier Excel mais j'ai un gros soucis que je n'arrive pas à m'expliquer :
J'ai des Edit dans lesquels se trouvent des valeurs float copiées par la methode FloatToStr().
Je pilote Excel par une instance OLE et lorsque je copie le Edit dans la cellule, j'ai un message d'erreur "type de variable incorrect" de mon composant OLE.
La variable est un Variant et le Edit est un AnsiString qui est compatible selon l'aide avec les Variants.
La seule chose que j'ai réussi a faire est de copier la valeur avec l'instruction StrToCurr et il me copie bien ma valeur avec sa virgule mais en € !!
Si quelqu'un sait comment me sortir de ce faux pas, je lui en serais très reconaissant.
Voici le 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 Variant vMSExcel, vXLWorkbook, vXLWorkbooks, vWorksheet, vSheetName, vValue10, vRange10, vCell; //Creation de l'objet EXCEL vMSExcel = Variant::CreateObject("Excel.Application"); vMSExcel.OlePropertySet("Visible", true); //Nouveau classeur vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks"); vXLWorkbook = vXLWorkbooks.OleFunction("Add"); //Acces a la feuille1 vSheetName = "Feuil1"; vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",vSheetName); vRange10 = "B2"; vValue10 = Edit1->Text; //Affectation des values dans les cellules VRanges vCell = vWorksheet.OlePropertyGet("Range", vRange1); vCell.OlePropertySet("Value", vValue1);
Partager