cs_madmax24
Messages postés5Date d'inscriptionjeudi 7 décembre 2000StatutMembreDernière intervention 2 avril 2008
-
1 avril 2008 à 18:38
cs_madmax24
Messages postés5Date d'inscriptionjeudi 7 décembre 2000StatutMembreDernière intervention 2 avril 2008
-
2 avril 2008 à 11:25
Bonjour,
Je travaille sur Excel VB pour développer un petit outil de tests statistiques (je suis débutant sur VB).
A un moment donné, je dois rentrer un % dans un textbox. Si je veux 10%, je saisis "0.1" ou "10%", et ça marche. En revanche, si je souhaite rentre 10,5%, les saisies "0.105" et "10.5%" ne fonctionnent pas... Pouvez vous m'aider ?
Merci
Max
ps : je peux envoyer le fichier si vous le désirez
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 1 avril 2008 à 19:57
bonjour
vérifie le format de séparateur décimal reconnu par excel (point ou virgule)
d'autre part vérifie également le format de tes variables
(un integer ne reconnais pas de séparateur décimal :) entre autre !)
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 1 avril 2008 à 20:38
complètement de ton avis explorer il lui faut faire un code transparent par rapport aux paramètres régionaux. Et indépendant de ce que peux saisir l'utilisateur.
cs_madmax24
Messages postés5Date d'inscriptionjeudi 7 décembre 2000StatutMembreDernière intervention 2 avril 2008 2 avril 2008 à 09:34
Bonjour,
j'ai vérifié le séârateur décimal et c'est un point.
Je ne comprends donc pas pourquoi la saisie de 0.1 fonctionne alors que 0.105 ne fonctionne pas.
Voici mon code,
Merci de votre aide car je suis un peu en panique !!!!
ici tu définis ton pourcentage avec seulement deux chiffres après le séparateur décimal et tu essaie d'entrer 0.105 soit trois chiffres .....
regardes voir de ce coté là !
cs_Exploreur
Messages postés4822Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 2 avril 2008 à 09:53
Salut,
Il y a un truc que je ne pige pas.....tu dis : si je veux 10% je saisi 0.1.......pourquoi ne pas saisir directment10 ?? comme 10.5 pour 10.5% au lieu de 0.105 ?
cs_madmax24
Messages postés5Date d'inscriptionjeudi 7 décembre 2000StatutMembreDernière intervention 2 avril 2008 2 avril 2008 à 10:16
Dans l'absolu je pourrais mais le souci c'est que je ne comprends pas vraiment pourquoi ça ne fonctionne pas alors que ça devrait. Je risque d'avoir le problème une fois prochaine donc j'aimerais bien le résoudre...
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 2 avril 2008 à 11:07
modifie ta macro comme ceci et ça marche
Private Sub TextBox3_AfterUpdate()
Dim dVariable As Double
Test2.TextBox3.Value = Format(Test2.TextBox3.Value, "00.00%")
variable = CDbl(Left(Test2.TextBox3.Value, Len(Test2.TextBox3.Value) - 1))
If Not (IsNull(Test2.TextBox3.Value) Or Test2.TextBox3.Value = "") Then
Test2.TextBox2.Value = Format(dVariable * Val(Test2.TextBox1.Value) / 100, "# ### ##0")
Else: Test2.TextBox2.Value = ""
End If
End Sub
de toute façon si tu veux faire un code lisible travailles sur des variables plutot que comme tu le fait actuellement
et prends l'habitude de déclarer tes variables pour cela en toute premiere ligne de code tu mets "Option explicit" ( sans les guillemets)
comme ça si tu utilise une variable non déclarée ou écrite de travers VBA t'engueulera quand tu testera ton code :)