Ajuster 2 chiffres après la virgule

koikili

XLDnaute Junior
Bonjour à tous,

dans l'exemple ci-joint j'ai un code avec lequel je dispatche les montants que j'ai dans la feuille 1 dans la feuille 3 en passant par la feuille 2 pour faire l'actualisation, le problème c'est que je ne sais pas pourquoi il ne fait pas l'ajustement dans la colonne H pour prendre 2 chiffres après la virgule
quelqu'un peut me dire d'ou vient le problème ??

Merci par avance
 

Pièces jointes

  • RECAP.xlsm
    131.1 KB · Affichages: 74

Dranreb

XLDnaute Barbatruc
Bonjour.
Pourquoi voudriez vous qu'il arrondisse la somme à 2 chiffres après la virgule ?
Sous prétexte qu'il y a un format de cellule qui n'en affiche que 2 ??
Essayez comme ça :
VB:
Private Sub Worksheet_Activate()
Dim Données As Collection, TS(), EOTP As SsGroup, LS As Long, Détail, Plg As Range

Rem. —— Première Partie
Set Données = GroupOrg(PlgUti(Feuil01.[A8]), 12)
ReDim TS(1 To Données.Count, 1 To 2)
For Each EOTP In Données
   LS = LS + 1
   TS(LS, 1) = EOTP.Id
   For Each Détail In EOTP.Contenu
      TS(LS, 2) = TS(LS, 2) + Détail(10)
      Next Détail
   TS(LS, 2) = Int(TS(LS, 2) * 100 + 0.5) / 100
   If TS(LS, 2) = 0 Then LS = LS - 1 ' Ligne finalement non créée si = 0
   Next EOTP
ValPlgAju(Me.[RécapMatos], LS) = TS
Me.Rows(8).Resize(5000).RowHeight = Me.Rows(7).RowHeight
Me.[RécapMatos].Cells(LS + 1, 2).Resize(, 1).FormulaR1C1 = "=SUM(R7C:R[-1]C)"
With LignesAjustées(Feuil03.Rows(8), LS)
   .Columns("L").Value = WorksheetFunction.Index(TS, 0, 1)
   .Columns("H").Value = WorksheetFunction.Index(TS, 0, 2)
   .Columns("A").FormulaR1C1 = "=10*ROW()-70"
   .Columns("A").Value = .Columns("A").Value
   End With
End Sub
 

koikili

XLDnaute Junior
Bonjour Dranreb,

merci pour votre réponse
je veux qu'il arrondise la somme à deux pour pouvoir copier par la suite le tableau dans un système qu'il n'accepte pas plus de 2 chiffres après la virgule
maintenant après avoir testé votre code je trouve que ca marche sauf que le total H39 de la 3ème feuille est supérieur à la somme de J8:J50 de la 1ère feuille alors qu'elle devraient être égaux

Cordialement
 

Dranreb

XLDnaute Barbatruc
Non, il n'y a pas de raison qu'ils soient égaux.
Il doit y avoir un peu plus d'arrondis au centième supérieur, c'est tout.
D'ailleurs on trouve la même chose avec cette formule, validé par Ctrl+Maj+Entrée :
Code:
=SOMME(ARRONDI(J8:J50;2))
 
Dernière édition:

koikili

XLDnaute Junior
ah non les données d'origine il faut les garder tel qu'elles sont

EDIT: le code doit en premier lieu arrondir les sommes de la colonne H (Feuille 3) puis réajuster le montant de H8 (feuille3) pour que le montant total égale le total d'origine
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 010
dernier inscrit
Sys974