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 :

comment obtenir que 2 ou 3 chiffres aprés la virgule


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 60
    Par défaut comment obtenir que 2 ou 3 chiffres aprés la virgule
    Bonjour,

    J'effectué des opérations de maths le pb est que lorsque j'éxecute mon code il me reste 5 voir si chiffres après la virgules

    comment faire pour qu'il ne m'en reste plus que 2 ou 3 ???


  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Par défaut
    nombre = int(nombre * 100) / 100

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 60
    Par défaut
    Salut je viens de trouver une fonction qui me permet de choisir le nombre de chiffres après la virgule il s'agit de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dim resultat
     
    resutat = (x*100+15+z+a+b)/(a+b+c)
     
    resultat = FormatNumber(resultat, 3)
     
    'le chiffre après la virgule vous permet de choisir le nombre de décimale
     
    msgbox(resultat)
    $C'est bizarre mais sa ne fonctionne pas lorsque je lance le program plusieur fois.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2007
    Messages : 117
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    dim resultat
     
     
    resutat = (x*100+15+z+a+b)/(a+b+c)
     
    resultat = Format(resultat, "0.000")
     
    'le chiffre après la virgule vous permet de choisir le nombre de décimale
     
    msgbox(resultat)

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 60
    Par défaut
    Di moi youn1096 j'ai utilisé ta fonction mais la je n'est plus la virgule pour séparé mes chiffres si je met 3 chiffres après la virgules il ne me met pas de virgules si j'en met 2 alor il me met la virgule





    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("RG_KPI-PI").Cells(28, 2) = Format(result_Retainability_G, "0.00")
    le résultat est 99,99

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("RG_KPI-PI").Cells(28, 2) = Format(result_Retainability_G, "0.000")

    le resultat est 99 993





  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Par défaut
    nombre = int(nombre * 1000) / 1000

    Rien ne vaut le cousu main

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2007
    Messages : 117
    Par défaut
    essayes avec cela je l'ai testé cela marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    = Format(Nombre, "#,##0.000;;;Néant")
    tu peux enlever le Néant si tu veux et oui le "0.000" ne marche pas dans une cellule alors qu'avec un msgbox cela marche

  8. #8
    Invité
    Invité(e)
    Par défaut
    Vous pouvez utiliser aussi (à adapter suivant 2 ou 3 décimales) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(28, 2).NumberFormat = "#,##0.000"
    Cells(28, 2) = Round(mavariable, 3)
    remarque :
    -si vous n'utilisez pas la fonction "Round" la valeur affichée dans Excel sera bien celle avec 2 ou 3 décimales selon le cas, mais si vous utilisez cette valeur pour d'autres calculs, il faut savoir que la valeur réelle contenue dans la cellule pourra contenir jusqu'à 15 décimales.
    -vous pouvez utiliser "NumberFormat" pour définir le format d'une colonne entière par exemple.

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 60
    Par défaut
    Merci pour votre réponse mais si on veut 1 chiffre ou 2 comment procéder


    est-ce qu'il faut modifier cette fonction ( les dièze ###)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    NumberFormat = "#,##0.000"
     Round(result_Retainability_G, 3)

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2007
    Messages : 117
    Par défaut
    tu remplaces les 0 par # ou tu les enleves , les 0 apres le point

  11. #11
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 60
    Par défaut
    je viens de comprendre merci pour les réponses il faut supprimer des 0 ou mettre un 2

    j'aurais une dernière question comment se fait-il que lorsque je veut obtenir tout les chiffres après la virgule, le prog tient tj compte que des 2 ou 3 chiffres pourtant je met bien en commentaire la procédure spécifique.
    ???

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2007
    Messages : 117
    Par défaut
    regarde le format de ta cellule peut etre cela vient de la

  13. #13
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Toutes ces manipulations de format sont dans l'aide de VBA Excel. Donc, l'explication de l'utilisation des caractères "0", "#"... y sont aussi. Regardez dans l'aide à la propriétéNumberFormat et la fonction Format... Il y a aussi la fonction Round, si ça vous intéresse...

  14. #14
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Vous avez écrit :

    je viens de comprendre merci pour les réponses il faut supprimer des 0 ou mettre un 2
    ce n'est pas tout à fait cela, ce n'est pas ou mais et

    soit pour 2 décimales :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NumberFormat = "#,##0.00"
     Round(result_Retainability_G, 2)
    pour 3 décimales :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NumberFormat = "#,##0.000"
     Round(result_Retainability_G, 3)
    si vous avez à modifier assez souvent ces paramètres dans votre programme on peut l'automatiser avec au démarrage de la procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    nbdec = InputBox("Entrez le nombre de décimales désirées", 1)
    nbd = ""
        For i = 1 To nbdec
        nbd = nbd & "0"
        Next i
    Cells(28, 2).NumberFormat = "#,##0." & nbd
    Cells(28, 2) = Round(result_Retainability_G, nbdec)

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 10/07/2012, 18h24
  2. N'afficher que 2 chiffres après la virgule
    Par matimat2k4 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 28/12/2007, 14h01
  3. Comment limiter le nombre de chiffre après la virgule ?
    Par Hoopsy dans le forum C++Builder
    Réponses: 15
    Dernier message: 06/07/2007, 16h12
  4. Comment fixer le nombre de chiffre après la virgule d'un flottant
    Par moon93 dans le forum Général Python
    Réponses: 1
    Dernier message: 15/06/2007, 16h49
  5. Comment imposer un nombre de chiffre après la virgule
    Par Yagami_Raito dans le forum Langage
    Réponses: 2
    Dernier message: 30/05/2007, 10h24

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