Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro pour arrondir

  • Initiateur de la discussion Initiateur de la discussion THIERRY35
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

THIERRY35

XLDnaute Occasionnel
Bonjour,

grâce au forum j'ai trouvé la macro suivante qui arrondi les données et qui fonctionne trés bien sur une colonne, mais je n'arrive pas à l'adapter à plusieurs colonnes malgré toutes mes tentatives.
Si quelqu'un veut bien m'aider à y voir plus clair.
Ci aprés la macro qui arrondi sur la colonne D et j'aimerai arrondir les colonnes D et E.
Merci
Sub Arrondir()
Dim oDat(), i As Long
oDat = Sheets("BASEtxreco").Range("D8:" & Sheets("BASEtxreco").Range("d900").End(xlUp).Address).Value
For i = 1 To UBound(oDat, 1)
If IsNumeric(oDat(i, 1)) Then oDat(i, 1) = Round(oDat(i, 1), 2)
Next i
Sheets("BASEtxreco").Range("D8:" & Sheets("BASEtxreco").Range("d900").End(xlUp).Address).Value = oDat
End Sub
 
Re : Macro pour arrondir

Bonjour THIERRY35
Une adaptation :
VB:
Sub Arrondir_2()
Dim oDat(), i As Long, J As Long
Dim Rng As Range
With Sheets("BASEtxreco")
    Set Rng = .Range("D8:" & .Range("d900").End(xlUp).Offset(, 1).Address)
End With
oDat = Rng.Value
For i = 1 To UBound(oDat, 1)
    For J = 1 To UBound(oDat, 2)
        If IsNumeric(oDat(i, J)) Then oDat(i, J) = Round(oDat(i, J), 2)
    Next J
Next i
Rng = oDat
End Sub
Cordialement
 
Re : Macro pour arrondir

Bonjour le fil,

Sinon, peut être (non testé) :
Code:
sub arrondir()
dim c as range
with sheets("BASEtxreco")
for each c in .range ("d8:e" & .range("d65536").end(xlup).row)
if isnumeric(c.value) then c.value = round(c.value, 2)
next c
end with
end sub

Abel.
 
Re : Macro pour arrondir

Bonjour,

merci à efgé, le code fonctionne mais comme je ne le comprends pas, j'aurai besoin de quelques explications à savoir
si je veux trier une colonne supplémentaire comment adapter le code
si je veux modifier le nombre de décimales où modifier le code.

Merci
 
Re : Macro pour arrondir

Re, Bonjour Abel

si je veux trier une colonne supplémentaire comment adapter le code
Le code ne tri rien du tout 😀
Pour utiliser plus de colonnes remplace

VB:
Set Rng = .Range("D8:" & .Range("d900").End(xlUp).Offset(, 1).Address)
Par
VB:
Set Rng = .Range("D8:E" & .Range("D900").End(xlUp).Row)
Cela est plus facilement adaptable (.Range("D8:E" & le numéro de la première ligne remplie en colonne D )

Pour les décimales c'est ici:
VB:
Round(oDat(i, J), 2)
Le 2 te donne le nombre de décimales
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
779
Réponses
5
Affichages
909
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…