[VBA / Excel] Textbox --> Integer
Résolu
sfritz
-
Ivan-hoe Messages postés 433 Date d'inscription Statut Membre Dernière intervention -
Ivan-hoe Messages postés 433 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je fais un programme sous VBA EXCEL (office 2003) pour mon entreprise pour récupérer des longeurs (en mm).
Comme ces longueurs sont toujours sous formes d'entiers, j'ai crée une variable qui me permet de récupérer ces nombres en Integer à partir de la valeur entrée dans une Textbox.
Mais comme je ne serais pas l'utilisateur final, j'aimerai mettre en place quelquechose afin d'éviter les erreurs, j'essaie donc de résoudre les futurs erreurs que les utilisateurs pourrait avoir.
Si l'utilisateur met un chiffre à virgule il sera arrondie à l'entier, s'il met une valeur négative un message d'erreur apparaitra et il devra la changer.
Mais j'aimerai également faire pour que quand il met autre chose que des chiffres (du genre "42;bn2" ou "voilà"...), qu'un message d'erreur apparaisse pour lui faire changer cette valeur.
Mais quand je met du texte dans ma textbox, j'ai une erreur avec ma variable:
"Dim ha as Integer
ha = TextBox1"
J'ai le message d'erreur suivant:
"Erreur d'exécution '13': Incompatibilité de type"
Et le message s'arrête là, je ne vois pas quelle est mon erreur.
Dans un autre programme, j'avais une variable du même genre, en Integer à partir d'une inputbox, et quand je mettais autre chose qu'une valeur numérique la variable était =0.
Je ne comprends pas pourquoi ici ce n'est pas le cas.
Pouvez vous m'aider?
Merci
sfritz
je fais un programme sous VBA EXCEL (office 2003) pour mon entreprise pour récupérer des longeurs (en mm).
Comme ces longueurs sont toujours sous formes d'entiers, j'ai crée une variable qui me permet de récupérer ces nombres en Integer à partir de la valeur entrée dans une Textbox.
Mais comme je ne serais pas l'utilisateur final, j'aimerai mettre en place quelquechose afin d'éviter les erreurs, j'essaie donc de résoudre les futurs erreurs que les utilisateurs pourrait avoir.
Si l'utilisateur met un chiffre à virgule il sera arrondie à l'entier, s'il met une valeur négative un message d'erreur apparaitra et il devra la changer.
Mais j'aimerai également faire pour que quand il met autre chose que des chiffres (du genre "42;bn2" ou "voilà"...), qu'un message d'erreur apparaisse pour lui faire changer cette valeur.
Mais quand je met du texte dans ma textbox, j'ai une erreur avec ma variable:
"Dim ha as Integer
ha = TextBox1"
J'ai le message d'erreur suivant:
"Erreur d'exécution '13': Incompatibilité de type"
Et le message s'arrête là, je ne vois pas quelle est mon erreur.
Dans un autre programme, j'avais une variable du même genre, en Integer à partir d'une inputbox, et quand je mettais autre chose qu'une valeur numérique la variable était =0.
Je ne comprends pas pourquoi ici ce n'est pas le cas.
Pouvez vous m'aider?
Merci
sfritz
A voir également:
- [VBA / Excel] Textbox --> Integer
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
Bonjour,
à partir du moment que tu essaies d'affecter à ta variable ha une valeur qui ne correspond pas à son type, tu as ce message "Incompatibilité de type". C'est la cas ici quand tu veux affecter une valeur de type String (du texte) à ta variable de type Integer.
Il faudrait faire un test sur la valeur de TextBox1 avant de transférer sa valeur à ta variable.
par exemple :
I.
à partir du moment que tu essaies d'affecter à ta variable ha une valeur qui ne correspond pas à son type, tu as ce message "Incompatibilité de type". C'est la cas ici quand tu veux affecter une valeur de type String (du texte) à ta variable de type Integer.
Il faudrait faire un test sur la valeur de TextBox1 avant de transférer sa valeur à ta variable.
par exemple :
If Not IsNumeric(TextBox1.Value) Then MsgBox "..." TextBox1.Value = Empty Else ha = TextBox1.Value End If
I.