probleme d'arrondi en vba

HERBIN

XLDnaute Junior
Bonsoir
Lorsque je calcule mes coefficients trimestriels j’obtiens un total de 4.025, je souhaiterai réctifier les coefficients trimestriels pour obtenir 4 de la manière suivante :
T1 = 0,8696 /4,025 * 4 = 0.864
T1 = 1,5103/4,025 * 4 = 1,501
T1 = 1,257/4,025 * 4 = 1,249
T1 = 0,388/4,025 * 4 = 0,386


T1 0,8696 0,864
T2 1,5103 1,501
T3 1,257 1,249
T4 0,388 0,386
4,025 4,000

Mon code est le suivant mais ça ne marche pas
Code:
'calcul des Coefficients saisonniers trimestriels
Trim1 = (Range("g2").Value + Range("g6").Value + Range("g10").Value) / 3
Trim2 = (Range("g3").Value + Range("g7").Value + Range("g11").Value) / 3
Trim3 = (Range("g4").Value + Range("g8").Value + Range("g12").Value) / 3
Trim4 = (Range("g5").Value + Range("g9").Value + Range("g13").Value) / 3
' affichage des Coefficients saisonniers trimestriels
Cells(7, 11).Value = Trim1 / Range("k11") * 4
Cells(8, 11).Value = Trim2/ Range("k11") * 4
Cells(9, 11).Value = Trim3/ Range("k11") * 4
Cells(10, 11).Value = Trim4/ Range("k11") * 4
Merci pour votre aide
Cordialement
 

Pièces jointes

  • Saisonnalisé_V1.1.xls
    59.5 KB · Affichages: 61

laurent950

XLDnaute Accro
Re : probleme d'arrondi en vba

Bonsoir herbin,

En faite je ne connais pas trop votre programme mais pour que les arrondi fonctionne il fallait le faire en deux étapes :

Je m’explique 4.025 :

J’ai fait un premier calcul qui s’appel coef (variable) qui contient coef de ton exemple voici le code :
' Coef
coef = Round((Range("g2").Value + Range("g6").Value + Range("g10").Value) / 3 _
+ (Range("g3").Value + Range("g7").Value + Range("g11").Value) / 3 _
+ (Range("g4").Value + Range("g8").Value + Range("g12").Value) / 3 _
+ (Range("g5").Value + Range("g9").Value + Range("g13").Value) / 3, 3)

j’ai modifier votre code
Trim1 = Round(Round((Range("g2").Value + Range("g6").Value + Range("g10").Value) / 3, 4) / coef * 4, 3)

Trim2 = Round(Round((Range("g3").Value + Range("g7").Value + Range("g11").Value) / 3, 4) / coef * 4, 3)

Trim3 = Round(Round((Range("g4").Value + Range("g8").Value + Range("g12").Value) / 3, 4) / coef * 4, 3)

Trim4 = Round(Round((Range("g5").Value + Range("g9").Value + Range("g13").Value) / 3, 4) / coef * 4, 3)

Je ne sais pas si cela vous convient ou si vous n’avez pas compris ? Mais pour moi cela fonctionne il y a peux être plus simple mais je ne sais pas comment votre feuille est construite.

Pour information Round = arrondi (que l’on peux aussi avoir en formule Excel) et 3 pour le nombre derrière la virgule

Explication :

Si exemple la variable euro = 6.55957 et que l’on veux un arrondi de 3 derrière la virgule cela donne

Résultat = Round(euro,3) ‘ soit 6.560

Au plaisir de vous lire et vous répondre

Laurent
 

Pièces jointes

  • Herbin Saisonnalisé_V1.1.xls
    62 KB · Affichages: 55

Statistiques des forums

Discussions
312 489
Messages
2 088 857
Membres
103 979
dernier inscrit
bderradji