Fonction dans une boîte de dialogue

Bonjour,

Dans une boîte de dialogue(userform), je dois saisir les N° de semaine en fonction de la semaine à traiter.

J'utilise la fonction CByte pour me renvoyer les nombres de 1 à 53.

Problème: lorsque je saisis les chiffres 1 à 5, pas de souci; pour 6 à 9, je suis obligé de saisir un 0 devant mes chiffres.

Quelqu'un peut il m'expliquer le pourquoi du problème, et éventuellement comment y remédier ?

Merci d'avance

Bonjour,

pas de lien avec cbyte(). Il faudrait savoir ce que tu fais exactement.

De plus pas grand intérêt à utiliser cette fonction puisqu'excel le stockera en tant que Long de toute façon.

eric

Dans l'Userform j'ai plusieurs rubriques: année, mois, semaine, jours.

Cela permet la saisie de mon planning; une fois la saisie validée, les informations année, mois semaines, vont se reporter sur un tableau

où je finirais de rentrer le planning par journée.

C'est lors de la saisie dans Userform que les chiffres 6 à 9 nécessitent un 0 devant, sinon cela ne va pas.

Voici la macro renvoyant la valeur saisie:

Private Sub ZoneNsemaine_Change()

'Macro enregistrée le 10/01/2006

With UserForm2.ZoneNsemaine

If ZoneNsemaine.Value <> "" Then

If IsNumeric(ZoneNsemaine.Value) = False Then

MsgBox "Vous devez saisir un nombre, compris entre 1 et 53.", _

vbOKOnly + vbInformation, "INFORMATION"

ZoneNsemaine.Value = ""

ZoneNsemaine.SetFocus

Else

If IsNumeric(ZoneNsemaine.Value) < "1" Or (ZoneNsemaine.Value) > "53" Then

MsgBox " Vous devez saisir un nombre, compris entre 1 et 53. ", _

vbOKOnly + vbInformation, "INFORMATION"

ZoneNsemaine.Value = ""

ZoneNsemaine.SetFocus

End If

End If

End If

End With

End Sub

Merci d'indenter le code et d'utiliser la balise de mise en forme Code (bouton)

If IsNumeric(ZoneNsemaine.Value) < "1" Or (ZoneNsemaine.Value) > "53" Then

n'a pas grand sens. "1" est une chaine, 1 est un numérique. Leur tri n'est pas du tout le même.

Je cherche encore le cbyte() annoncé...

Je te laisse chercher un peu.

eric

Problème résolu, il suffisait que je mette Cint avant isNumeric

If IsNumeric(Cint(ZoneNsemaine.Value)) < "1" Or(Cint (ZoneNsemaine.Value)) > "53" Then


Merci de s'être penché sur mon problème.

< 1 !!!!!!!!!!!

pas < "1"

OK, problème résolu.

Merci beaucoup

Rechercher des sujets similaires à "fonction boite dialogue"