XL pour MAC Arrondir automatiquement le chiffre d'une cellule

Jimbob

XLDnaute Nouveau
Bonjour à tous

Je fais appel a vous afin de savoir si il est possible et si oui comment, d'arrondir le chiffre d'une cellule et que la différence soit inscrite automatiquement dans une autre case.
Je ne sais pas si je suis très clair ^^.
Exemple : Dans la case B2 est noté 45,18
je souhaiterais que automatiquement dans ma case B2 apparaisse 46
et que la différence, soit 0,82 apparaisse dans la case F4


Je vous remercie par avance :)
 

Jimbob

XLDnaute Nouveau
Bonjour Jimbob, JM, soan,

Remplacer le nombre décimal par son arrondi ne me paraît pas une bonne solution car on perd la valeur d'origine.

Il vaut mieux concaténer les 2 valeurs dans la même cellule :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, [B2:D20]) 'plage à adapter
If Target Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
For Each Target In Target 'si entrées/effacements multiples
    If IsNumeric(CStr(Target)) Then Target = Target & " * " & Application.Ceiling(Target, 1) Else Target = ""
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
En F4 formule matricielle pour faire la somme des écarts :
Code:
=SOMME(SI(ESTNUM(TROUVE("*";B2:D20));STXT(B2:D20;TROUVE("*";B2:D20)+1;99)-GAUCHE(B2:D20;TROUVE("*";B2:D20)-1)))
A+
Bonjour,

désolé je reponds tard, quelques contre temps.
Donc j'aime bien cette solution car en effet ne pas perdre la valeur de départ c'est pas mal.
Mais du coup je ne sais pas comment faire la somme des valeurs.

Dans ma case j'ai ; 287,12 * 288, dans l'autre 12,56 * 13
Comment faire la sommes automatiquement de 288+13
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Et y a t il possibilité d'afficher seulement la valeur arrondi sans perdre la valeur de départ
en dehors de l'arrondi commercial en défaveur du client ...
Oui et sans macro
à l'aide du format de cellule sans décimale.
!!!! mais seulement si l'arrondi se fait à l'unité la plus proche
la colonne A ne sert qu'a montrer la valeur saisie
1611601440277.png
 

Jimbob

XLDnaute Nouveau
Bonjour,

désolé je sais que j'en demande beaucoup mais je ne trouve pas 😭
qu'elle est le code pour cette fois ci faire l'arrondi inférieur ( 12,67 * 12) et de meme faire la sommes des arrondis
j'ai tenté des choses mais je ne trouve pas la solution

Merci par avance
 

job75

XLDnaute Barbatruc
Bonjour Jimbob,

C'est pourtant assez évident :
VB:
For Each Target In Target 'si entrées/effacements multiples
    If IsNumeric(CStr(Target)) Then Target = Target & " * " & Int(Target) Else Target = ""
Next
A+
 

Pièces jointes

  • PLANCHER(1).xlsm
    17.1 KB · Affichages: 8

Jimbob

XLDnaute Nouveau
Je n'arrive pas à appliquer ces deux commandes sur la même feuille
de B2:B20 plafond et de E2:E20 plancher

quand je rentre tout, cela fonctionne mais dès que je selectionne la case la valeur inscrite dedans disparait.
 
Dernière édition:

job75

XLDnaute Barbatruc
Nouveau fichier avec :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Application.EnableEvents = False 'désactive les évènements
Set r = Intersect(Target, [B2:B20]) 'plage à adapter
If Not r Is Nothing Then
    For Each r In r 'si entrées/effacements multiples
        If IsNumeric(CStr(r)) Then r = r & " * " & Application.Ceiling(r, 1) Else r = ""
    Next
End If
Set r = Intersect(Target, [E2:E20]) 'plage à adapter
If Not r Is Nothing Then
    For Each r In r 'si entrées/effacements multiples
        If IsNumeric(CStr(r)) Then r = r & " * " & Int(r) Else r = ""
    Next
End If
Application.EnableEvents = True 'réactive les évènements
End Sub
 

Pièces jointes

  • PLAFOND PLANCHER(1).xlsm
    16.7 KB · Affichages: 3

Discussions similaires

Réponses
11
Affichages
208

Statistiques des forums

Discussions
312 287
Messages
2 086 825
Membres
103 396
dernier inscrit
Laurent34