Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Forcer une valeur saisie à être entière

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

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
Comment pourrait-on s'y prendre ?

merci d'avance pour tout avis.
 

frangy

XLDnaute Occasionnel
Re : Forcer une valeur saisie à être entière

Bonjour,

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

A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…