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 : 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
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 ?