IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Trop de chiffres après la virgule


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Points : 95
    Points
    95
    Par défaut Trop de chiffres après la virgule
    Bonjour,

    J'ai un usf dans lequel je fais une division. Je voudrais arrêter le format de ma division à 2 chiffres après la virgule car pour l'instant elle m'en affiche trop.

    Voici la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox_Prix_metre = (Val(TextBox_Prix.Value) / (TextBox_Superficie.Value))
    Comment faire?

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Bonjour,

    As tu essayé ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox_Prix_metre = round((Val(TextBox_Prix.Value) / (TextBox_Superficie.Value)),2)

  3. #3
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    re,le fil le forum peut etre avec format

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox_Prix_metre_Change()
    TextBox_Prix_metre.Value = Format(TextBox_Prix_metre.Value, "0.00")
    End Sub

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Points : 95
    Points
    95
    Par défaut
    La première solution ne fonctionne pas ça me mets une erreur. La seconde me mets 0,00 dans mon résultat.

  5. #5
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    re le fil avec tous ces posts succesif comment tu le fais le calcul??? zip ton fichier sans donnees confi.... pour voir autrement on va pas avancer.A l origine c est la facon de calculer que je t avais donner en utilisant val normalement sans simplifier en utilisant format dans la textbox source cela ne pose pas pb...

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Points : 95
    Points
    95
    Par défaut
    Voilà le code avec tous ce qui rentre en compte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub TextBox_Prix_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        If TextBox_Prix.Value = "" Then
        Else
        TextBox_Prix_metre = (Val(TextBox_Prix.Value) / (TextBox_Superficie.Value))
        End If
    End Sub
     
    Private Sub TextBox_Prix_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    'ne peut taper que des chiffres a adapter
    If InStr("0123456789", Chr(KeyAscii)) = 0 Then KeyAscii = 0
    End Sub
     
    Private Sub TextBox_Superficie_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    'ne peut taper que des chiffres a adapter
    If InStr("0123456789", Chr(KeyAscii)) = 0 Then KeyAscii = 0
    End Sub
    Je rentre une surface et un prix quand je sort de prix l'opération s'effectue et met le résultat dans prix_metre. Je teste avant si le prix est indiqué.

    Il me faudrait tester aussi la valeur de Superficie parce que si elle est nulle ça plante. Le faire avec un opérateur logique serait idéal.

  7. #7
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    re dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub TextBox_Prix_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        If TextBox_Prix.Value = "" Then ' manque le code ?????
        Else
        TextBox_Prix_metre = (Val(TextBox_Prix.Value) / (TextBox_Superficie.Value))
        End If
    End Sub
    essai comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub TextBox_Prix_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If TextBox_Prix.Value <> "" Then TextBox_Prix_metre = (Val(TextBox_Prix.Value) / (TextBox_Superficie.Value))
    TextBox_Prix_metre.Value = Format(TextBox_Prix_metre.Value, "0.00")
    End Sub

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bon soir,

    Si et SEULEMENT SI tes deux textboxes ne contiennent que des entiers (comme le donnent à penser tes évènements Keypress) et qu'elles sont bien saisies toutes deux, il n'y a aucune raison pour que ceci ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox_Prix_metre = (Val(TextBox_Prix.Value) / val(TextBox_Superficie.Value), "0.00")
    (ne pas oublier - pour des raisons d'étique - le 2ème Val (mis en rouge) )

    Si, par contre, l'une ou l'autre des deux textboxes admet finalement des décimales également (contrairement à ce que montrent tes évènements Keypress), il va bien évidemment falloir considérer le séparateur décimal (Val est bon pour le point, mais non pour la virgule, par exemple).

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Points : 95
    Points
    95
    Par défaut
    Le code de laetitia fonctionne par contre ucfoutu le tien me donne une erreur de compil.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de conversion en double : Trop de chiffres après la virgule
    Par Scots dans le forum Développement Web avec .NET
    Réponses: 11
    Dernier message: 28/09/2014, 18h14
  2. Réponses: 1
    Dernier message: 13/09/2010, 11h54
  3. Chiffres après la virgule figés
    Par bondjames dans le forum Bases de données
    Réponses: 6
    Dernier message: 10/03/2004, 23h09
  4. [MFC] Nombre de chiffres après la virgule
    Par karl3i dans le forum MFC
    Réponses: 3
    Dernier message: 27/01/2004, 13h04
  5. Nb de chiffres après la virgule ?
    Par Thcan dans le forum C
    Réponses: 10
    Dernier message: 17/09/2003, 21h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo