[RÉSOLU] problème récupération données complète VAL

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

[RÉSOLU] problème récupération données complète VAL

Message par david »

Le problème avec

Code : Tout sélectionner

Resultat = Val(Chaine$
c'est : "La conversion s'arrêtera au premier caractère non numérique"

je travaille sur un programme qui récupère un montant H.T. et un taux de TVA dans un fichier
j'utilise donc Readfile

le problème c'est lorsque mon taux à des chiffres après la virgule qui ne sont pas pris en compte
comment contourner cela rapidement, récupérer le texte avant et celui après la virgule et bidouiller ou existe-t-il quelque chose de plus propre?

Merci par avance

ci-après un bout de code simplifié avec mes propres variables

Code : Tout sélectionner

Dim ProdHT1.s (5) 
Dim ProdTVA1.s (5)


ProdHT1(1) ="10"
ProdTVA1(1)="5.50"


valdeurHT1 = Val(ProdHT1(1))
valdeurTVA = Val(ProdTVA1(1))/100

Debug valdeurHT1
Debug valdeurTVA




resultat = valdeurHT1 + (valdeurHT1 * 1+ valdeurTVA)

Debug Str(resultat)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: problème récupération données complète VAL

Message par Ar-S »

utilise des floatants si tu veux des virgules

Code : Tout sélectionner

Dim ProdHT1.s (5)
Dim ProdTVA1.s (5)


ProdHT1(1) ="10"
ProdTVA1(1)="5.50"


valdeurHT1.f = ValF(ProdHT1(1))
valdeurTVA.f = ValF(ProdTVA1(1))/100

Debug valdeurHT1
Debug valdeurTVA




resultat.f = valdeurHT1 + (valdeurHT1 * 1+ valdeurTVA)

Debug "resultat "+ StrF(resultat)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: problème récupération données complète VAL

Message par case »

ou si tu veux les virgules séparément tu peux utiliser stringfield pour couper en deux ta chaine
a$="15,5"
Debug Val(StringField(a$,1,","))
Debug Val(StringField(a$,2,","))
ImageImage
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: problème récupération données complète VAL

Message par Marc56 »

Sans précision contraire, une variable numérique en PB est de type integer.

Code : Tout sélectionner

Dim ProdHT1.s (5)
Dim ProdTVA1.s (5)

ProdHT1(1)  = "10.00"
ProdTVA1(1) = "5.50"

valdeurHT1.f = ValF(ProdHT1(1))
valdeurTVA.f = ValF(ProdTVA1(1))

Debug valdeurHT1
Debug valdeurTVA

resultat.f  = valdeurHT1 * (1 + valdeurTVA / 100) 

Debug StrF(resultat, 2)
Je n'ai pas compris si tu cherchais à calculer le montant ttc ou autre ? J'ai donc mis une formule ht > ttc

Code : Tout sélectionner

10.0
5.5
10.55
PS. La version 5.50 B1 de PB (5.50B1) apporte une nouvelle fonction qui sera très utile: FormatNumber()

:wink:
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

[RESOLU]Re: problème récupération données complète VAL

Message par david »

merci merci
ca fonctionne nikkel

par contre je ne sais pas comment 'résolu'..
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: [RESOLU]Re: problème récupération données complète VAL

Message par TazNormand »

david a écrit :merci merci
ca fonctionne nikkel

par contre je ne sais pas comment 'résolu'..
Il faut éditer ton premier message et changer le titre en ajourant [RÉSOLU]. Pour cette fois je le fais pour toi :wink:
Image
Image
Répondre