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 :

Arrondir valeur en dessous au dessus


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Par défaut Arrondir valeur en dessous au dessus
    Bonjour,

    voilà tout est dans le titre comment faire pour arrondir une valeur à sa valeur en dessous et arrondir une autre valeur à sa valeur au dessus tout cela en vba bien sûr.

    Exemple pour 26.5 obtenir 27 et pour 13.5 obtenir 13.

    merci d'avance pour vos réponses.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut
    Bonjour !

    Tu peux, entre autre, passer par la partie entière :

    Arrondi à la valeur inférieure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub valeur_inf()
    Dim n As Integer
    n = Int(InputBox(Nombre))
    MsgBox ("L'arrondi à la valeur en dessous est " & n)
    End Sub
    Arrondi à la valeur supérieure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub valeur_sup()
    Dim n As Integer
    n = Int(InputBox(Nombre))
    MsgBox ("L'arrondi à la valeur au-dessus est " & n+1)
    End Sub
    Bonne journée, pense au bouton

  3. #3
    Membre confirmé Avatar de zoidy
    Inscrit en
    Avril 2006
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 184
    Par défaut
    Hello,

    Il y a encore plus simple : utiliser FormatNumber

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    range("A1").value = 15.3
    range("A1").FormatNumber = "0"
    ' Ca te renverra 15
     
    range("A1").value = 15.7
    range("A1").FormatNumber = "0"
    ' Ca te renverra 16

  4. #4
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Par défaut
    mon souci est que les valeurs que j'ai se terminent toujours par 0.5 et c'est selon un critère que dans certains je veux pouvoir choisir d'arrondir au dessus ou en dessous.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut
    Si c'est toi qui choisis si c'est inf ou sup, alors tu dois donner des instructions à Excel Dans la solution que je te propose, si tu veux arrondir à la borne inf (13,5 => 13), alors Int(13,5)=13. Si tu veux arrondir à la borne sup (13,5 => 14), alors Int(13,5)+1=14.

  6. #6
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Par défaut
    ça fonctionne impeccable merci

  7. #7
    Membre chevronné Avatar de mordrhim
    Inscrit en
    Avril 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2007
    Messages : 270
    Par défaut
    Citation Envoyé par flo_flo
    Si c'est toi qui choisis si c'est inf ou sup, alors tu dois donner des instructions à Excel Dans la solution que je te propose, si tu veux arrondir à la borne inf (13,5 => 13), alors Int(13,5)=13. Si tu veux arrondir à la borne sup (13,5 => 14), alors Int(13,5)+1=14.
    Bon tu veux faire un arrondi au plus près ? c'est-à-dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    - 13,49 -> 13
    - 13,51 -> 14
    dans tous les cas et :
    - 13,50 -> 14 dans un cas
    - 13,50 -> 13 dans l'autre
    OU
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    - 13,XX -> 13 dans un cas
    - 13,XX -> 14 dans l'autre
    si c'est la première options les solutions proposés sont dangereuses !!!ouh les erreurs de mathématiques
    La fonction Arrondi est traduit comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Arrondi au plus proche : 
    Arrondi(X) = Int(X + 0,5)
    Si j'ai 13,49 :
    - Int(13,49) + 1 = 14
    Alors que :
    - Int(13,49 + 0,5) = 13
    - Int(13,5 + 0,5) = 14

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

Discussions similaires

  1. [AC-2003] faire apparaitre l'etiquette du dessous au dessus
    Par chuspyto dans le forum IHM
    Réponses: 5
    Dernier message: 04/07/2010, 09h57
  2. arrondir valeur décimale
    Par jman94 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 30/06/2010, 17h31
  3. [JpGraph] Placer les valeurs en dessous des "plot Marks"
    Par hugobob dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 13/03/2009, 22h10
  4. Réponses: 7
    Dernier message: 26/11/2008, 13h57
  5. [VBA-E]arrondir valeur d'une variable
    Par richou dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/04/2006, 14h48

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