Robikatchou
Messages postés50Date d'inscriptionmardi 7 juillet 2009StatutMembreDernière intervention28 août 2009
-
16 juil. 2009 à 17:41
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
17 juil. 2009 à 17:07
Bonjour, j'ai encore un ti problème,
J'ai créé un Userform
Dedans ya des combobox et textbox. Grace au code ci-dessous je copie ce que j'ai écris dans le userform dans des cellule d'un classeur.
Robikatchou
Messages postés50Date d'inscriptionmardi 7 juillet 2009StatutMembreDernière intervention28 août 2009 17 juil. 2009 à 09:54
ça marche du top avec Val.
le hic pour le prix par exemple c'est que les virgules ça marche pas dans les textbox faut mettre des point.
comment dire au code :
si virule dans cette textbox
[i]/i alors message erreur pour l'utilisateur
userrrqi115
Messages postés181Date d'inscriptionmardi 18 novembre 2008StatutMembreDernière intervention 4 février 2011 17 juil. 2009 à 11:08
RE
Val ou Cdbl même combat, Val accepte mal les virgules et il semblerait que Cdbl ne ne fonctionne pas avec les points.(ex 15.5)
A moins de le combiner avec un val : Cdbl(val(15.5))
Sauf que ça revient tjrs au soucis de la virgule, je crois que le blocage de saisie sera plus simple:
Ci dessous balayage de la valeur de la textbox et police en rouge et message d'erreur si une virgule est trouvée.
For i = 1 To Len(TextBox1.Value)
If Right(Left(TextBox1.Value, i), 1) = "," Then
TextBox1.ForeColor = &HFF&
MsgBox ("Error")
Exit Sub
Else:
TextBox1.ForeColor = &H80000008
End If
Next i
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 17 juil. 2009 à 11:25
Alors faut faire un Replace avant de le passer à CDbl.
CDbl se base sur les paramètres régionnaux, vu que toi t'es francophone, tu as mis Français-France, donc le symbole de séparation décimale est la , et le symbole de séparation des milliers est le point.
J'pense qu'il y avait une astuce pour transformer le . du pavé num en , dans les textbox numériques ... mais j'ai oublié
Robikatchou
Messages postés50Date d'inscriptionmardi 7 juillet 2009StatutMembreDernière intervention28 août 2009 17 juil. 2009 à 13:18
si j'ai tout compris je remplace tout les val que j'ai mis par des CDbl
et après je rajoute le code de Great brain le parigo et après que je mettent un point ou une virgule dans la text box ça va marcher.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 17 juil. 2009 à 14:02
Re
Oui, les fonctions de conversion sont plus adaptées, MAIS elles ont un talon d'Achile :
Lorsque tu utilises un CDbl sur un texte qui ne comporte pas que des chiffres ou caractères associés (virgule, signe), la fonction renvoie une erreur, alors que Val se contentera de convertir en ... zéro
Une bonne solution peut consister à coupler les deux fonctions :
monChiffre = CDbl(Val(monTexte))
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)