0
(0)

Présentation

Code proposé suite à une demande d'une utilisatrice du forum Answer.

Objectif : Arrondir sur place les valeurs réellement et non via un format de nombre (voir Comment arrondir des nombres de mille et une façons dans Excel).
Une solution Excel existe dans les options d’Excel pour un arrondi standard mais pas pour un arrondi inférieur.

Attention, les décimales seront perdues définitivement !

Le code

Sub ArrondInf()
  ' Objectif    : Arrondir les valeurs à la valeur inférieur sans utiliser de format de nombre.
  '               A chaque exécution un arrondi inférieur est appliqué supprimant définitivement une décimale.
  ' Utilisation : Sélectionner la plage et active la macro.
  ' Retour      : Les valeurs arrondies
  ' Auteur      : Arnaud (www.1forme.fr).
  ' Licence     : CC-BY-NC-SA (Vous pouvez diffuser/partager/modifier cette macro dans les même conditions,
  '                           seulement à titre personnel et citant l'auteur/site d'origine.


   Dim byNbDecimal As Byte
   Dim rgCellule   As Range

   If IsNumeric(ActiveCell.Value2) Then
      byNbDecimal = Application.Max(Len(CDec(ActiveCell.Value2) - Int(ActiveCell.Value2)) - 3, 0)
      ' CDec() pour pallier au problème de virgule flottante.
   Else
      MsgBox "La cellule active est du texte, arret du traitement !", vbCritical, "Exécution impossible"
      Exit Sub
   End If
   Application.ScreenUpdating = False
   For Each rgCellule In Selection.Cells
      If IsNumeric(rgCellule.Value2) Then rgCellule.Value2 = Application.RoundDown(rgCellule.Value2, byNbDecimal)
      ' Ne pas traiter le texte.
   Next
   ' Application d'un format correspondant.
   Selection.NumberFormat = IIf(byNbDecimal > 0, "0." & String(byNbDecimal, "0"), "0")
   Application.ScreenUpdating = True
End Sub

Ajouter une icône dans la barre d’outils d’accès rapide pour exécuter facilement ce code.

Merci pour votre attention bienveillante.

Article intéressant ?

Cliquez sur une étoile pour noter cet article !

Note moyenne 0 / 5. Nombre de votes : 0

Aucun vote pour l'instant ! Soyez le premier à noter ce post.

Nous sommes désolés que cet article ne vous ait pas été utile !

Améliorons cet article !

Dites nous comment nous pouvons améliorer cet article ?

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *