[D2006][Excel] Conversion variant vers un double
Bonjour,
Pour mettre à jour un fichier de données Delphi j'utilise un fichier Excel obtenu par internet.
Le programme Delphi, developé grâce à LFE (Pilotage OLE d'Excel ...), que je remercie, s'exécute correctement depuis plusieurs années.
Actuellement quand cette procédure s'exécute, j'ai un probléme de lecture d'un Double :
Code:
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
| procedure TFCotation.P_EnregistreCours(FichCours : TFileName);
var
vMSExcel, vLink, vXLWorkbks, vXlWorkbk, vWorkSheet, vCell : variant;
FileName : string;
BReadOnly : boolean;
DateCours : String;
CodeAct : string; // action
CoursAct : double;
begin
try
try
...
vCell := vWorkSheet.Range[PosDate];
DateCours := vCell.value; // lecture d'une chaîne
if MessageDlg('Date de mise à jour des cours : '+#13#10+ DateCours +#13#10+
'Cette date est-elle valable ?', mtWarning,[mbYes,mbNo],0) = mrNo then Exit;
repeat
vCell := vWorkSheet.Range[PosCode];
CodeAct := vCell.value; // lecture du Code, chaîne
vCell := vWorkSheet.Range[PosCours];
CoursAct := vCell.value; // erreur à la lecture du Double
P_EnreCoursAct(CodeAct, DateCours, CoursAct);
. . . |
A la lecture de CoursAct j'ai une erreur de conversion avec le message : " impossible de convertir le variant de type (oleStr) en type (Double)". ?
La valeur de la cellule étant de la forme : '28,81 €'.
D'où peut provenir cette erreur ?