Fonctions VBA Round, RoundUp et RoundDown

Tour VBA

La fonction d'arrondi VBA arrondit les nombres à un nombre spécifié de chiffres.

Syntaxe de la fonction ronde VBA

La syntaxe de la fonction ronde VBA est :

Round(Expression, [Decimal_places]) où :

  • Expression - Le nombre à arrondir.
  • décimales_places (Optionnel) - Un entier qui spécifie le nombre de décimales à arrondir. La valeur doit être supérieure ou égale à 0 (>=0). Si vide, la valeur par défaut de 0 est utilisée, ce qui signifie que la fonction arrondit à l'entier le plus proche.

Alors, regardons un exemple pour que vous puissiez voir comment fonctionne la fonction VBA Round, en arrondissant à 1 décimale :

12345 Sous Round1()Msgbox Round(7.25, 1)Fin du sous-marin

La MessageBox résultante :

VBA autour d'une variable

Dans l'exemple ci-dessus, nous avons entré le nombre à arrondir directement dans la fonction, mais vous arrondiriez généralement une variable à la place. Voici un exemple utilisant une variable à la place :

Remarque : Nous utilisons le type de variable Double pour stocker les valeurs décimales.

123456789 Sub RoundUsingVariable()Dim unitcount As Doublenombre d'unités = 7,25MsgBox "La valeur est " & Round(unitcount, 1)Fin du sous-marin

Le résultat est:

Résultats de l'arrondi VBA

Nombre réel Nombre de décimales Résultat
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

Fatigué de rechercher des exemples de code VBA ? Essayez AutoMacro !

Valeur de cellule ronde VBA

Vous pouvez également arrondir une valeur de cellule directement en VBA :

123 Sous-cellule ronde()Plage("A1").Valeur = Round(Plage("A1").Valeur, 2)Fin du sous-marin

Fonction RoundUp VBA

Disons que vous voulez arrondir un nombre supérieur, en utilisant VBA. Il n'y a pas de fonction équivalente VBA RoundUp intégrée, mais vous pouvez appeler la fonction Excel RoundUp Worksheet à partir de votre code VBA :

1 roundupUnitcount = Application.WorksheetFunction.RoundUp(unitcount, 3)

Les fonctions de feuille de calcul d'Excel peuvent être utilisées dans VBA, grâce à l'utilisation du Feuille de travailFonction objet. Les seules fonctions de feuille de calcul que vous ne pouvez pas appeler sont celles qui ont déjà un équivalent VBA intégré.

Rappel de la syntaxe de la fonction Excel Worksheet RoundUp :

ROUNDUP(Nombre, Chiffres) où :

  • Nombre - Le nombre que vous souhaitez arrondir.
  • Chiffres - Le nombre de chiffres que vous souhaitez arrondir.

Alors, regardons un exemple, afin que vous puissiez voir comment accéder à la fonction RoundUp Worksheet dans votre code VBA :

12345678910111213 Sous-arrondi()Dim unitcount As DoubleDim roundupUnitcount As Doublenombre d'unités = 7,075711roundupUnitcount = Application.WorksheetFunction.RoundUp(unitcount, 4)MsgBox "La valeur est " & roundupUnitcountFin du sous-marin

Le résultat est:

Arrondir au nombre entier le plus proche

Vous pouvez arrondir au nombre entier le plus proche en spécifiant 0 comme nombre de décimales :

12345 Sous RoundUpWhole()MsgBox Application.WorksheetFunction.RoundUp(7.1, 0)Fin du sous-marin

Le résultat livré :

Programmation VBA | Le générateur de code fonctionne pour vous !

Résultats de la fonction RoundUp

Nombre réel Chiffres Résultat
7.075711 0 8
7.075711 1 7.1
7.075711 2 7.08
7.075711 3 7.076
7.075711 -1 10
7.075711 -2 100
7.075711 -3 1000

Fonction d'arrondi VBA

Disons que vous voulez arrondir un nombre à l'inférieur, en utilisant VBA. Il n'y a pas non plus de fonction équivalente VBA RoundDown intégrée, mais encore une fois, ce que vous feriez est d'appeler la fonction Excel RoundDown Worksheet à partir de votre code VBA.

Un rappel de la syntaxe de la fonction d'arrondi de la feuille de calcul Excel :

ARRONDI (Nombre, Chiffres) où :

• Nombre - Le nombre que vous souhaitez arrondir à l'inférieur.
• Chiffres - Le nombre de chiffres que vous souhaitez arrondir.

Alors, regardons un exemple, afin que vous puissiez voir comment accéder à la fonction RoundDown Worksheet dans votre code VBA :

12345678910111213 Sous-arrondi()Dim unitcount As DoubleDim rounddownUnitcount As Doublenombre d'unités = 5.225193rounddownUnitcount = Application.WorksheetFunction.RoundDown(unitcount, 4)MsgBox "La valeur est " & rounddownUnitcountFin du sous-marin

Le résultat est:

Arrondir au nombre entier le plus proche

Vous pouvez arrondir au nombre entier inférieur le plus proche en spécifiant 0 comme nombre de décimales :

12345 Sous-arrondi vers le bas()MsgBox Application.WorksheetFunction.RoundDown(7.8, 0)Fin du sous-marin

Le résultat est:

Résultats de la fonction d'arrondi vers le bas

Nombre réel Chiffres Résultat
5.225193 0 5
5.225193 1 5.2
5.225193 2 5.22
5.225193 3 5.225
5.225193 -1 0
5.225193 -2 0
5.225193 -3 0

Programmation VBA | Le générateur de code fonctionne pour vous !

Autres fonctions d'arrondi VBA

Plafond VBA - RoundUp à une importance spécifiée

VBA n'a pas d'équivalent de la fonction Ceiling.Math, donc si vous souhaitez arrondir un nombre à l'entier le plus proche ou au multiple spécifié le plus proche, vous pouvez appeler la fonction de feuille de calcul Ceiling.Math d'Excel à partir de votre code VBA.

Un rappel de la syntaxe de la fonction Excel Worksheet Ceiling.Math :

PLAFOND.MATH(Nombre, [Importance], [Mode]) où :

  • Nombre - Le nombre que vous souhaitez arrondir.
  • Importance (Optionnel) - Le multiple auquel vous souhaitez que votre nombre soit arrondi.
  • Mode (Optionnel) - Contrôle si les nombres négatifs sont arrondis vers ou loin de zéro.

Alors, regardons un exemple, afin que vous puissiez voir comment accéder à la fonction Ceiling.Math Worksheet dans votre code VBA :

12345678910111213 Sous RoundUpToSignificance()Dim unitcount As DoubleFaible plafondmathUnitcount As Doublenombre d'unités = 4.1221plafondmathUnitcount = Application.WorksheetFunction.Ceiling_Math(unitcount, 5)MsgBox "La valeur est " & CeilingmathUnitcountFin du sous-marin

Le résultat est:

RoundUp VBA aux résultats d'importance spécifiés

Nombre réel Importance Mode Résultat
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

Sol VBA - Arrondir à une importance spécifiée

VBA n'a pas non plus d'équivalent de la fonction Floor.Math. Cependant, encore une fois, si vous souhaitez arrondir un nombre à l'entier le plus proche ou au multiple de signification spécifié le plus proche, vous pouvez appeler la fonction de feuille de calcul Floor.Math d'Excel à partir de VBA.

Un rappel de la syntaxe de la fonction Excel Worksheet Floor.Math :

FLOOR.MATH(Nombre, [Importance], [Mode]) où :
• Nombre - Le nombre que vous souhaitez arrondir à l'inférieur.
• Importance (Optionnel) - Le multiple auquel vous souhaitez que votre nombre soit arrondi.
• Modes (Optionnel) - Contrôle si les nombres négatifs sont arrondis vers ou loin de zéro.

Alors, regardons un exemple, afin que vous puissiez voir comment accéder à la fonction Floor.Math Worksheet dans votre code VBA :

1234567891011 Sub RoundDownToSignificance()Dim unitcount As DoubleDim floormathUnitcount As Doublenombre d'unités = 4.55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math(unitcount, 2)MsgBox "La valeur est " & floormathUnitcountFin du sous-marin

Le résultat est:

Arrondi VBA aux résultats de signification spécifiés

Nombre réel Importance Mode Résultat
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave