Code VBA, Chiffre arrondi a deux decimales

Bonjour,

J'ai un bug dans mon code que je ne comprend pas pouvez vous m'aider svp :

Voila je cherche a faire une macro qui s'execute automatiquement quand je colle une liste de chiffre en colonne C2 de ma feuille excel ( nomme " YTD"). Cette macro a pour but d'arrondir tout les chiffres de la colonnes C a deux decimales. ( je veux le chiffre et non pas juste la syntaxe a deux decimale c'est pourquoi j'utilise la function Round)

Voici mon code :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("C2")) Is Nothing Then

Macroticker

End If

End Sub

Sub Macroticker()

Dim i As Integer

Dim X As Variant

For i = 7000 To 2 Step -1

X = Worksheets("YTD").Range("C" & i).Value

Worksheets("YTD").Range("C" & i).Value = Round(X, 2)

Next i

End Sub

Lorsque j'execute ma macro "Macroticker" manuellement cela marche tres bien cependant lorsque je la combine avec le code qui me permet de l'executer directement au moment ou je colle mes donnees , ma feuille excel bug, les chiffres s'arrondissent mais la macro est beaucoup trop longue et ne s'arrete pas. Bref c'est la que ca coince.

Pouvez vous me dire ce qu'il ne vas pas svp?

Merci beaucoup

Bonjour,

la macro Macroticker change une cellule de la feuille, ce qui déclanche l'execution de la macro Worksheet_Change encore et encore.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C2")) Is Nothing Then
Application.EnableEvents = False 'les événements sont désactivés
Macroticker
Application.EnableEvents = True ' les événements sont activés
End If
End Sub

Au top, je comprends maintenant merci pour la precision de ta reponse.

Rechercher des sujets similaires à "code vba chiffre arrondi deux decimales"