Roland_M
XLDnaute Barbatruc
bien le bonsoir à tous,
voilà, il s’agit d’un utilitaire que j’ai fais pour mon fils à son travail pour lui extraire des valeurs
dans plusieurs centaines de fichiers (des références de fabrication en verrerie)
pour une question de rapidité j’utilise donc ExecuteExcel4Macro pour lire le contenu de ces cellules.
mais le problème avec cette méthode c’est que les valeurs extraites sont parfois fausses !?
exemples de valeurs tirées d’un classeur source avec ExecuteExcel4Macro:
R$ = ExecuteExcel4Macro(…….)
s’il y a 107 dans la cellule R$= « 106,666666666667 »
s’il y a 89 dans la cellule R$= « 89,3333333333333 »
et c’est encore heureux que je ne colle pas la valeur direct dans une cellule sinon c’est une aberration !
pour 107 j’ai 106666666666667
j’utilise donc Replace() pour obtenir du numérique depuis vb vers cell excel(, et .)
R$ = ExecuteExcel4Macro(…….): Cells(Lig, Col) = Replace(R$, ",", ".")
j’avais déjà constaté cette anomalie sous vba, les calculs ne sont pas toujours précis !
quelque soit la déclaration des variables ! par contre excel est bien plus précis !
dans temps avec QuickBasic j’avais aussi constaté cette anomalie. Basic n’est pas précis !
(avec des 7 on avait parfois 6.9999.. ou 7.1111111)
j’avais déjà lu une explication à ce sujet(stockage des val en mémoire) mais j’ai oublié !
j’attends vos réactions à ce sujet et merci par avance si solution il y a !
voilà, il s’agit d’un utilitaire que j’ai fais pour mon fils à son travail pour lui extraire des valeurs
dans plusieurs centaines de fichiers (des références de fabrication en verrerie)
pour une question de rapidité j’utilise donc ExecuteExcel4Macro pour lire le contenu de ces cellules.
mais le problème avec cette méthode c’est que les valeurs extraites sont parfois fausses !?
exemples de valeurs tirées d’un classeur source avec ExecuteExcel4Macro:
R$ = ExecuteExcel4Macro(…….)
s’il y a 107 dans la cellule R$= « 106,666666666667 »
s’il y a 89 dans la cellule R$= « 89,3333333333333 »
et c’est encore heureux que je ne colle pas la valeur direct dans une cellule sinon c’est une aberration !
pour 107 j’ai 106666666666667
j’utilise donc Replace() pour obtenir du numérique depuis vb vers cell excel(, et .)
R$ = ExecuteExcel4Macro(…….): Cells(Lig, Col) = Replace(R$, ",", ".")
j’avais déjà constaté cette anomalie sous vba, les calculs ne sont pas toujours précis !
quelque soit la déclaration des variables ! par contre excel est bien plus précis !
dans temps avec QuickBasic j’avais aussi constaté cette anomalie. Basic n’est pas précis !
(avec des 7 on avait parfois 6.9999.. ou 7.1111111)
j’avais déjà lu une explication à ce sujet(stockage des val en mémoire) mais j’ai oublié !
j’attends vos réactions à ce sujet et merci par avance si solution il y a !