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 :

formule d'arrondi au 1/2 près


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Par défaut formule d'arrondi au 1/2 près
    Bonjour,

    je voudrais arrondir une valeur au 0.5 le plus proche.
    c'est a dire : si j'ai 0.43, je voudrais avoir comme valeur "arrondie" 0.5

    j'ai essayé la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    round(valeur_a_arrondir)
    mais ça n'arrondi pas comme je veux...

    quelqu'un connait-il une formule qui me permettrait de faire cet arrondi au 0.5 près? (ou une astuce peut etre sur la formule round()?)

    merci

  2. #2
    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
    Par défaut
    Bonjour,

    Tiens ... comme à l'accoutumée, je vais te laisser réfléchir un peu...

    Je traite là (volontairement) avec une seule décimale et te laisse le soin d'analyser, comprendre et extrapoler en fonction du nombre de décimales (ce sera un bon exercice) !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Command1_Click()
      Dim titi, nombre As Single, i As Integer
      titi = Array(5.4, 4.2, 4.6, 4.5, 6.9, 5.3)
      For i = 0 To UBound(titi)
        nombre = Int((titi(i) * 10))
        nombre = IIf(nombre Mod 5 > 2, nombre + 5 - (nombre Mod 5), nombre - nombre Mod 5)
         MsgBox titi(i) & " =====>>" & nombre / 10
      Next
    End Sub

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Par défaut
    ouai....
    c'est méchant de me faire réfléchir comme à l'heure du repas..

    sur le coup : je comprend pas tout!
    je pense que je vais la tester un peu avant de te quémander des indices!

    merci

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    Tu peux tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ARRONDI.AU.MULTIPLE(A1;0,5)

    Nécessite d'activer le complément "Utilitaire d'analyse" pour les versions d'excel antérieures à 2007.


    bon week end
    michel

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    ucfoutu est un méchant, c'est bien connu !
    As-tu essayé avec roundup ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Application.WorksheetFunction.RoundUp(1.43, 1)
    Juste une idée

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Par défaut
    merci pour toutes ces infos!
    je ne les connaissais pas!

    parcontre : cela ne resout pas vraiment mon probleme...
    je pensais que mon erreur de calcul venait de l'arrondi pas bien comme je voulais mais apparemment meme avec un bon arrondi cela ne change pas la valeur finale de mon calcul!

    j'investigue un peu et peut etre reviendrais-je pour une autre question

  7. #7
    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
    Par défaut
    Gaffe aux "arrondis de présentation" avec Excel ...
    L'affichage est une chose, la valeur en mémoire en est une autre ===> et c'est la valeur en mémoire (et non son affichage) qui est utilisée dans les calculs ultérieurs ...

    Bééé ... A +

Discussions similaires

  1. [Formule]arrondi à l'entier supérieur
    Par kariiim dans le forum IHM
    Réponses: 8
    Dernier message: 20/02/2018, 14h53
  2. Comment faire un arrondi à 0.5 prés ?
    Par alex830001 dans le forum Excel
    Réponses: 4
    Dernier message: 18/04/2017, 15h49
  3. [XL-2010] Excel VBA : formule d'arrondi dans une boucle
    Par chipster62 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/02/2015, 11h29
  4. Pb arrondi dans une formule de calcul
    Par REMACC1 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/03/2006, 09h16
  5. Arrondi a 5 centimes près
    Par krfa1 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/11/2005, 15h32

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