Comment arrondir les valeurs dans VBA (avec exemples)
Vous pouvez utiliser la méthode RoundUp dans VBA pour arrondir les valeurs.
Cette fonction utilise la syntaxe de base suivante :
Sub RoundUpValue()
Range("B1") = WorksheetFunction.RoundUp(Range("A1"), 0)
End Sub
Cet exemple particulier arrondira la valeur de la cellule A1 au nombre entier le plus proche et affichera le résultat dans la cellule B1 .
Notez que le deuxième argument de la méthode RoundUp spécifie le nombre de chiffres à arrondir où :
- -3 arrondit au millier supérieur
- -2 arrondit à la centaine la plus proche
- -1 arrondit à la dizaine supérieure
- 0 arrondit au nombre entier le plus proche
- 1 arrondit au dixième supérieur (une décimale)
- 2 arrondis au centième supérieur (deux décimales)
- 3 arrondis au millième supérieur (trois décimales)
Et ainsi de suite.
Les exemples suivants montrent comment utiliser la méthode RoundUp en pratique.
Exemple 1 : Arrondir au nombre entier le plus proche dans VBA
Nous pouvons créer la macro suivante pour arrondir la valeur de la cellule A1 au nombre entier le plus proche et afficher le résultat dans la cellule B1 :
Sub RoundUpValue()
Range("B1") = WorksheetFunction.RoundUp(Range("A1"), 0)
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que la valeur 1 432,78 dans la cellule A1 a été arrondie au nombre entier le plus proche de 1 433 dans la cellule B1 .
Exemple 2 : Arrondir à la centaine la plus proche dans VBA
Nous pouvons créer la macro suivante pour arrondir la valeur de la cellule A1 à la centaine la plus proche et afficher le résultat dans la cellule B1 :
Sub RoundUpValue()
Range("B1") = WorksheetFunction.RoundUp(Range("A1"), -2)
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que la valeur 1 432,78 dans la cellule A1 a été arrondie à la centaine de 1 500 la plus proche dans la cellule B1 .
Exemple 3 : Arrondir au dixième le plus proche dans VBA
Nous pouvons créer la macro suivante pour arrondir la valeur de la cellule A1 au dixième près (soit une décimale) et afficher le résultat dans la cellule B1 :
Sub RoundUpValue()
Range("B1") = WorksheetFunction.RoundUp(Range("A1"), 1)
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que la valeur 1 432,78 dans la cellule A1 a été arrondie au dixième supérieur de 1 432,8 dans la cellule B1 .
Remarque : Vous pouvez trouver la documentation complète de la méthode VBA RoundUp ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment écrire des fonctions SUMIF et SUMIFS
VBA : Comment écrire les fonctions COUNTIF et COUNTIFS
VBA : Comment écrire des fonctions AVERAGEIF et AVERAGEIFS