Formatage nombre

Résolu
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 - 29 nov. 2006 à 21:31
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 - 30 nov. 2006 à 14:05
Voila j'ai un probleme que je comprend pas
je prend dans une base acces une donnee monetaire qui est de 100
je veux qu'elle soit comme sa  100,00
et le pas moyen je fait toto = format(toto,"##0.00")
et il veux pas
pas moyen , la donnee dans acces est mise sous  virgules avec 2 nombres
et j'arrive pas
Merci pour votre aide

6 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
29 nov. 2006 à 21:44
Salut,

ça dépend du type de donnée attribué à toto.
Essaie de passer par une seconde variable :

Sub Test()
    Dim toto As Currency, toto2 As String
    
toto =  100 ' 100 (OU ton record)
toto2 = Format(toto, "##0.00")
' *** qui dit Format, dit type ~String~ (pour la variable
'     réceptionnant le résultat, ici toto2)

MsgBox toto2

End Sub

~<small> Mortalino </small>~

@++

<hr width ="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 nov. 2006 à 00:35
Round pourrait peut-être aussi fonctionner
toto = Round(toto, 2)
ou
toto = Round(CSng(toto), 2)

Si tu veux un signe monétaire
toto = Format(toto, "currency")

Et comme dit Mortalino, ça peut aussi dépendre du type de la donnée donnée d'origine, c'est pourquoi j'utilise le CSng pour forcer un nombre à décimale.

MPi
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
30 nov. 2006 à 10:48
Salut,
6078 MPi  ça ne marchera pas avec Round, cela ne formate pas l'affichage:

exemple de résultat avec round :

toto = 100.2635489
toto = Round(CSng(toto), 2)=100.26

toto = 100.99
toto = Round(CSng(toto), 2)=100

toto = 100
toto = Round(CSng(toto), 2)=100

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
30 nov. 2006 à 10:49
Pardon

toto = 100.99
toto = Round(CSng(toto), 2)=101

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 nov. 2006 à 12:06
Effectivement, si toto = 100, la réponse sera 100
Donc, j'aurais dû faire le test avant de répondre...désolé

mais je récupère 100,26 et 100,99 dans les 2 autres exemples, avec ou sans le CSng

MPi
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
30 nov. 2006 à 14:05
Oui effectivement, j'aurais du faire le test avant moi aussi! Ou faire attention à ce que j'ai mis!

toto = 100.991222
toto = Round(CSng(toto), 2)=100.99

toto = 100.0002
toto = Round(CSng(toto), 2)=100

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
Rejoignez-nous