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
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 :
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
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...
www.excel-downloads.com
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
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
For Each Target In Target 'si entrées/effacements multiples
If IsNumeric(CStr(Target)) Then Target = Target & " * " & Int(Target) Else Target = ""
Next
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