Je n'arrive pas à arrondir la valeur de M25 (168536) avant de la coller dans R16 ainsi (168500), j'ai bien essayé avec Round, mais je n'y arrive pas.
pourriez vous m'aider, svp
Re,
Vous ne pourriez pas donner toutes les infos d'un coup, cela éviterait de reworker en permanence.
Essayez ça :
VB:
Function Arrondi(N)
If CInt(Right(N, 3)) > 500 Then Ajout = 1 Else Ajout = 0
Arrondi = (Ajout + Int(N / 1000)) * 1000
End Function
Donc c'est arrondi au milieu inférieur ou supérieur. ( donc rien à voir avec la première demande )
de 168000 à 168500 donnera 168000
de 168501 à 168999 donnera 169000
mais si A=168100 et que je souhaite arrondir à 168000, ça fonctionne aussi ? mais j'aurai 168100, alors je préfère arrondir à 168000 ce sera plus simple
Re,
Ben non ....
168100 donnerait 168100
Donnez plus de détails sur ce que vous voulez.
Si la règle est si le nombre se termine avec 2 zéros on arrondi au millier inférieur sinon à la centaine inférieure, alors une approche possible avec une fonction :
Code:
Function Arrondi(N)
If Int(N / 100) * 100 = N Then D = 1000 Else D = 100
Arrondi = Int(N / D) * D
End Function
Son utilisation serait alors du genre :
Code:
Sub Essai()
Sheets("Feuil1").Range("R16") = Arrondi(Sheets("Feuil2").Range("$M$25"))
End Sub
Re,
Vous ne pourriez pas donner toutes les infos d'un coup, cela éviterait de reworker en permanence.
Essayez ça :
VB:
Function Arrondi(N)
If CInt(Right(N, 3)) > 500 Then Ajout = 1 Else Ajout = 0
Arrondi = (Ajout + Int(N / 1000)) * 1000
End Function
Donc c'est arrondi au milieu inférieur ou supérieur. ( donc rien à voir avec la première demande )
de 168000 à 168500 donnera 168000
de 168501 à 168999 donnera 169000