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

VB 6 et antérieur Discussion :

arrondi visual basic


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mars 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 1
    Par défaut arrondi visual basic
    désolé de vous déranger j'aurais aimé savoir comment faire pour arrondir un nombre au quart de point supérieur (14.33 donne 14.5) et inférieur (14.33 donne 14.25 sur visual basic
    je vous remercie d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    Pas sur qu'il existe une api pour ça (les autres peuvent infirmer s'il y a lieu)
    Je pense qu'il va falloir te faire une chtite fonction de rien du tout

  3. #3
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Bonjour,

    Comme le signal Vld44, il n'y a pas de fonction existante pour cela.

    Voilà une fonction simple pour le faire :

    Code VB : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Function ArrondiQuart(Nb As Double) As Double
     
    Dim Reste As Double
     
        Reste = Nb - Fix(Nb)
     
        If Reste < -0.75 Then
            ArrondiQuart = Fix(Nb) - 1
        ElseIf Reste >= -0.75 And Reste < -0.5 Then
            ArrondiQuart = Fix(Nb) - 0.75
        ElseIf Reste >= -0.5 And Reste < -0.25 Then
            ArrondiQuart = Fix(Nb) - 0.5
        ElseIf Reste >= -0.25 And Reste < 0 Then
            ArrondiQuart = Fix(Nb) - 0.25
        ElseIf Reste >= 0 And Reste < 0.25 Then
            ArrondiQuart = Fix(Nb)
        ElseIf Reste >= 0.25 And Reste < 0.5 Then
            ArrondiQuart = Fix(Nb) + 0.25
        ElseIf Reste >= 0.5 And Reste < 0.75 Then
            ArrondiQuart = Fix(Nb) + 0.5
        Else 'Reste >= 0.75
            ArrondiQuart = Fix(Nb) + 0.75
        End If
     
    End Function

    +

    Théo

  4. #4
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Le cadeau bonus, la focntion qui arrondi n'importe quelle nombre avec n'importe quelle valeur d'arrondi (inférieur ou égal à 1). Je l'ai quand même faite un peu vite fait sur le gaz, donc un bug est pas exclu

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    Option Explicit
     
    Private Sub Command1_Click()
    Text3 = Arrondir(Text1, Text2)
     
    End Sub
     
    '------------------------------------------------------------------------------------
    'Arrondi d'un nombre quelconque, positif ou négatif avec valeur d'arrondi quelconque
    'Entrée :
    '   ValIn   : Nombre à arrondir
    '   Arrondi : Arrondi
    'Sortie :
    '   Arrondir : Valeur arrondie
    '------------------------------------------------------------------------------------
    Public Function Arrondir(ValIn As Double, Arrondi As Double) As Double
    Dim Entier        As Long         'Partie entière du nombre à arrondir
    Dim Reste         As Double       'Différence entre partie entière et nombre à arrondir
    Dim i             As Integer      'Pour boucle
     
    'Cas d'exclusion
    If Arrondi > 1 Then
      MsgBox "La valeur d'arrondi doit être inférieure ou égal à 1", vbExclamation, "Erreur"
      Arrondir = 0
      Exit Function
    End If
     
    If ValIn = 0 Then
      Arrondir = 0
      Exit Function
    End If
     
    Entier = Fix(ValIn)
    Reste = Abs(ValIn - Entier)
     
    Do
      i = i + 1
      If Reste - (i * Arrondi) <= Arrondi / 2 Then Exit Do
    Loop
    Arrondir = IIf(ValIn > 0, Entier + i * Arrondi, Entier - i * Arrondi)
    End Function

  5. #5
    Membre chevronné Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Par défaut
    Bonjour à tous,

    Je ne dirais qu'une chose... " rhô c'te classe de réponse !!! "...
    Malgré le fait que ce soit un code facilement dévellopable, et encore une fois ca n'engage que moi ("je dis ça, je dis rien!") qu'il figure dans la faq...

    Enfin bon... Merci, ca sert toujours...

    ~~ La Praline ~~
    ... un choco militant !!!

  6. #6
    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
    Hé bien! Théocourant et OhMonBato, vous êtres cordialement invités à contribuer à la FAQ!

Discussions similaires

  1. Réponses: 31
    Dernier message: 22/04/2014, 14h55
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  3. VB.NET vs C# vs Java ou existe-t-il une vie après Visual Basic 6 ?
    Par B-Pascal dans le forum Débats sur le développement - Le Best Of
    Réponses: 32
    Dernier message: 05/07/2007, 12h46
  4. Visual basic version Open Source !!
    Par Ruddy16 dans le forum Langages de programmation
    Réponses: 15
    Dernier message: 31/03/2004, 19h15
  5. []débogage sur une requête dasn visual basic
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 24/09/2003, 09h59

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