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
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