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 |