PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → xlsdonnee
xlsdonnee
Iniciado por mlion, jul., 13 2005 2:32 PM - 1 resposta
Publicado em julho, 13 2005 - 2:32 PM
Bonjour ou rebonjour

Je reformule ma demande ...

En me basant sur l'exemple "Fonctions XLS" je fais dans mon application des imports et exports de données via EXCEL. Je n'arrive pas à solutionner le cas suivant : pour une cellule EXCEL dont le contenu est 1,99999999 (type standard séparateur = virgule) par exemple, à l'import dans une table je récupère "2". Je ne trouve pas le moyen de récupérer la valeur avec les décimales .... SAUF si je fais dans le fichier EXCEL un remplacement des "," par des "."
Là le xlsDonnée ramène les bonnes valeurs de cellule !!!!

AUTRE REMARQUE : pour la valeur 3,69599989 avec xlsDonnée la valeur ramenée est 3.696 -> DONC un arrondi se fait par cette fonction mais avec quelle règle ??? Je ne comprends pas tout.

Le code de la cellule récupérée est le suivant :
sDonnée est une chaine
sDonnée = xlsDonnée(nIdFic, nLigne, nColonne, Faux)

Y a t'il un moyen de récupérer la valeur numérique exacte de la cellule avex xlsdonnee ???


Je suis même prêt à utiliser la classe EXCEL mais je ne sais pas comment faire ! Si il y a de bons samaritains parmi vous, un bout de code ne serait pas de refus !

Merci.

Michel
Publicado em julho, 13 2005 - 6:10 PM
Bonjour,

oExcel, oRange est un objet Automation dynamique


oExcel = allouer un objet OLE "Excel.Application"
oExcel:Visible := Vrai ( ou faux)
oExcel>>WorkBooks>>Open("Nom du fichier")
oExcel>>WorkBooks>>Item(1)>>WorkSheets>>Item(1)>>Activate() //Pour le 1er onglet
// oExcel>>WorkBooks>>Item(1)>>WorkSheets>>Item(2)>>Activate() //Pour le 2eme onglet//

oRange = oExcel>>Range("A1:A1") // colonne A, ligne1, colonne A, ligne1
oRange = oExcel>>Range("A2:A2") // colonne A, ligne2, colonne A, ligne2
oRange = oExcel>>Range("A1:A2") // colonne A, ligne1 à colonne A, ligne2

Valeur = oRange>>FormulaR1C1


Cordialement,

C.AUBRY