Empecher la saisie de certains caractere ds textbox
Fermé
BabaDeathLord
-
30 déc. 2016 à 19:50
NHenry Messages postés 15047 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mars 2023 - 31 déc. 2016 à 18:17
NHenry Messages postés 15047 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mars 2023 - 31 déc. 2016 à 18:17
A voir également:
- Empecher la saisie de certains caractere ds textbox
- Caractère spéciaux - Guide
- Caractère invisible ✓ - Forum Windows
- Caractère spéciaux mac clavier - Guide
- Caractère ascii - Guide
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Excel
6 réponses
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
30 déc. 2016 à 22:17
30 déc. 2016 à 22:17
Visiblement, c'est simple :
Sur l'evenement Change
Tu fais un Mid$(Texte, 1,1) pour récupérer la lettre et tu testes
Puis avec un Mid$(Texte,2) tu vérifies que c'est un numérique (IsNumeric) et tu vérifies que sa valeur est entre 1 et 20.
Sur l'evenement Change
Tu fais un Mid$(Texte, 1,1) pour récupérer la lettre et tu testes
Puis avec un Mid$(Texte,2) tu vérifies que c'est un numérique (IsNumeric) et tu vérifies que sa valeur est entre 1 et 20.
Jai peut etre une idee ca serait de verifier avec un if si le texte de la textbox est different de la valeur des cellules d'une plage (dans laquelle jai inscrit un par un chacune des cases possibles)?
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
30 déc. 2016 à 21:16
30 déc. 2016 à 21:16
avec deux listbox, une de A à T, l'autre de 1 à 20?
que souhaites-tu qu'il se passe si quelqu'un tape autre chose?
que souhaites-tu qu'il se passe si quelqu'un tape autre chose?
Technique interssante mais c impossible je dois le rendre dans moins de 2h et je ne peux reecrire tout le code avec les variables de ligne et de colonnes ca serait trop long, et je suis deja a bout de nerf x(
Je voudrais que ca renvoi une msgbox ("Erreur de saisie: cette case n'existe pas")
Jai tenté ca actuellement
If TextBox.Text <> ("A1:T20").Name then
msgbox ("erreur")
else
Suite du code...
Mais ca ne mache pas :(
Je voudrais que ca renvoi une msgbox ("Erreur de saisie: cette case n'existe pas")
Jai tenté ca actuellement
If TextBox.Text <> ("A1:T20").Name then
msgbox ("erreur")
else
Suite du code...
Mais ca ne mache pas :(
http://www.bataillenavale-jeu-ifs.fr/jeu/
Voila notre site si vous souhaitez voir le code afin de mieux comprendre
Voila notre site si vous souhaitez voir le code afin de mieux comprendre
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup Henry, vous m'avez permis de resoudre partiellement le probleme, jai reussi a m'en servir pour la lettre mais je ny suis pas parvenu pour le chiffre.
Je suis désolé de l'erreur que jai commise en creant un double sujet, je me doutais du resultat mais j'etais desesperé, je retiens la lecon
Je suis désolé de l'erreur que jai commise en creant un double sujet, je me doutais du resultat mais j'etais desesperé, je retiens la lecon
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
31 déc. 2016 à 12:31
31 déc. 2016 à 12:31
Quel test as-tu fais pour le nombre et quel est le résultat obtenu ?
Jai declare Txt, Txt3 As Variant
(Avec Txt le contenu de la textbox en .Text)
Puis dans l'afterupdate de la textbox:
Et jai la msbox quoi que je mette apres la lettre.
(Avec Txt le contenu de la textbox en .Text)
Puis dans l'afterupdate de la textbox:
Txt3 = Mid(Txt, 2)
If IsNumeric(Txt3) = False Or Txt3 > 20 Or Txt3 = 0 Then
MsgBox ("Erreur de saisie, ce nombre n'existe pas sur le plateau")
Exit Sub
Else
End If
Et jai la msbox quoi que je mette apres la lettre.
| EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
31 déc. 2016 à 18:17
31 déc. 2016 à 18:17
Regardes en pas à pas, pourquoi tu as le souci :
Essayes de faire du pas à pas (F8), et espionne les valeurs des variables (Shift+F9), tu peux aussi mettre des points d'arrêt (F9).
Sinon, pour information, VB teste toutes les conditions, donc si Txt3 n'est pas un numérique, tu aura une erreur.
Il faut que tu découpe ton test en 2 phases, une pour tester si c'est un nombre et l'autre pour tester sa plage de valeur (note "-1" est un nombre).
Essayes de faire du pas à pas (F8), et espionne les valeurs des variables (Shift+F9), tu peux aussi mettre des points d'arrêt (F9).
Sinon, pour information, VB teste toutes les conditions, donc si Txt3 n'est pas un numérique, tu aura une erreur.
Il faut que tu découpe ton test en 2 phases, une pour tester si c'est un nombre et l'autre pour tester sa plage de valeur (note "-1" est un nombre).