Arrondis

excfl

XLDnaute Barbatruc
Bonsoir le forum,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, [A1:B10]) Is Nothing Then Exit Sub
 If Not (IsNumeric(Target.Value)) Then Exit Sub
 If Target.Value = "" Then Exit Sub
 Target.Value = Application.WorksheetFunction.RoundUp(Target.Value, -2)
 End Sub
Ce code arrondi bien à la centaine supérieure.

Mais génère ce code d'erreur :


Merci d'avance pour votre aide.

excfl
 

JCGL

XLDnaute Barbatruc
Re : Arrondis

Bonjour à tous,

Peux-tu essayer :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [A1:B10]) Is Nothing Then Exit Sub
    If Not (IsNumeric(Target.Value)) Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Application.WorksheetFunction.RoundUp(Target.Value, -2)
    Application.EnableEvents = True
End Sub
A+ à tous

Edition : Sur les bons conseils de mon Luc...
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Arrondis

Bonsoir excfl :)
Salut mon JC :D

Je ne suis pas certain, mais, il ne serait pas conseillé de "descendre" le 'EnableEvents' juste avant de faire l'arrondi? Parce que si on 'Exit Sub' après avoir désactivé la gestion des événements, on se coince, non? Ou je dis une ânerie?
 

JCGL

XLDnaute Barbatruc
Re : Arrondis

Bonjour à tous,
Salut mon Luc,

Tu as entièrement raison.

A++ mon ami
A+ à tous
 

excfl

XLDnaute Barbatruc
Re : Arrondis

Re,

Merci Modeste pour ta remarque très judicieuse.

Bonne soirée.

excfl
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas