Format TextBox

Bonjour à tous,

Mon problème concerne un Userform. Il sert à indiquer le numéro de l'entrée désirée dans un textbox. Si la valeur du textbox n'est pas un entier, il doit afficher une MsgBox erreur "ce n'est pas un entier", si la valeur est trop grande une MsgBox "La valeur est trop grande", et sinon lancer d'autres UserForm.

Ces vérifications se font lorsqu'on clique sur le bouton Ok. Mais j'ai l'impression qu'il considère toujours que la textbox n'est jamais un entier, et affiche toujours l'erreur "ce n'est pas un numéro d'entrée". Mon code ressemble à cela :

Private Sub Ok_Click()
Dernentrée = Cells(Range("C9").End(xlDown).Row, 2)

If VarType(TextBox1.Value) <> vbInteger Then
    Output = MsgBox("Ce n'est pas un numéro d'entrée !", 48, "Format incorrect !")
Else
    If TextBox1.Value > Dernentrée Then
        Output = MsgBox("Dernière entrée : " & Dernentrée, 48, "Numéro d'entrée inexistant !")
    Else
        'Affiche un autre userform
        Unload Me
    End If
End If

End Sub

Si je ne suis pas clair, je vous fournirai un bout de fichier, mais merci d'avance pour votre aide !

Bonjour,

Ton code n'est pas sous balises Code : cela le rend difficile à lire !

D'autant plus qu'il n'est pas indenté !!

En outre, on ne voit pas les déclarations de variables : information qui manque !

Cells(Range("C9")... : expressions non qualifiées, donc dépendant de la feuille active du classeur actif (code imprécis et plus lent) [mais ce n'est pas le problème posé...]

If VarType(TextBox1.Value) <> vbInteger Then

sera en principe toujours vrai car VarType(TextBox1.Value renverra vbString : une donnée dans une TextBox est nécessairement de type String...

Cordialement.

Désolé je me suis rendu compte après qu'on pouvait mettre une balise code... Mais voilà qui est fait !

Pour la déclaration des variables je ne fais jamais, je n'ai pas encore compris l'intérêt...

Et enfin, je ne mets pas la feuille des calculs car elle n'est pas fixe, les calculs sont sur la feuille depuis laquelle on ouvre le userform...

Du coup y a-t-il un moyen de savoir si on a mis un entier dans une textBox ? Eventuellement changer le String en Integer et voir si ça renvoie une erreur ? J'essaierai demain.

Merci pour ton aide !

Tester avec IsNumeric, convertir avec CInt, CLng ou Val...

Rechercher des sujets similaires à "format textbox"