Bonjour à toutes et à tous,
Je ne sais pas comment forcer la saisie d’un nombre ENTIER.
Par le biais d’une inputbox, je recueille le mois (de 1 = janvier à 12 = décembre) servant à un traitement ultérieur.
J’arrive à tester si l’utilisateur ne saisit pas une valeur à côté de la plaque (<1 ou >12) et si la valeur saisie est bien numérique (Type:=1) mais je ne sais pas comment forcer l’utilisateur à rentrer un nombre ENTIER (donc refuser une saisie du type 4,8 par exemple, même si ça n’a pas beaucoup de sens mais c’est déjà arrivé car dans mon inputbox « grandeur nature », il y a en réalité bien d’autres infos demandées, pour certaines avec virgule, d’où parfois interversion …).
Je ne veux pas non plus « transformer » ultérieurement la valeur saisie en valeur entière par le biais par exemple de int(Valeur) car je veux que l’utilisateur se rende compte de son erreur …
Existe-t-il un paramètres obligeant à une saisie d’un nombre ENTIER (au même titre que Type:=1 force une saisie numérique) ?
Ou y a-t-il un autre moyen ?
Merci d’avance pour votre aide
XXXXXXXXXX ci-dessous mon code XXXXXXXXXXXXXXXXXXXXXXX
Sub Saisie_Valeur()
Dim MaValeur As Integer
MaValeur = Application.InputBox("Saisissez un chiffre", Type:=1)
If MaValeur > 12 Or MaValeur <= 0 Then
MsgBox "Vous devez saisir un chiffre entre 1 (janvier) et 12 (décembre)"
Else
MsgBox "Le mois choisi est " & MaValeur
' en fait un tout autre code mais pour plus de clarté, je ne me perds pas dans
‘ les méandres de la suite ...
End If
End Sub