Forcer une valeur saisie à être entière

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
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.
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
475
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
530
Réponses
4
Affichages
487
Retour