Je rentre une valeur dans une cellule et je voudrais que seule l'entier de cette valeur, au cas où elle serait décimale, s'affiche.
J'ai tenté ceci :
Code:
Private Sub Worksheet_Change(ByVal target As Range)
If Not Intersect(target, [C6]) Is Nothing Then
target = [Round(target,0)] '--> marche pas du tout
target = [Round(C6,0)] '--> marche pas
End If
End Sub
Une exécution du code en pas à pas te permettrait de constater ce dysfonctionnement : Si la valeur de C6 change, alors change la valeur de C6.
La valeur de C6 ayant changé, change à nouveau la valeur de C6.
La valeur de C6 ayant changé, change à nouveau la valeur de C6.
Etc.
Tu dois donc désactiver l'événement Change à sa première apparition pour éviter une boucle sans fin.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [C6]) Is Nothing Then
Application.EnableEvents = False
Target = Round(Target, 0)
Application.EnableEvents = True
End If
End Sub