Comment interdire/autoriser l'écriture dans une TextBox?

LoKe74150 Messages postés 5 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 7 juin 2010 - 7 juin 2010 à 18:21
tidjool Messages postés 102 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 16 août 2012 - 6 juil. 2010 à 12:15
Bonjour,

en tant que débutant je développe une petite interface pour automatiser des outils commerciaux et j'aimerais vos conseils pour les points suivants:

- Comment faire pour que mon programme interdise de mettre une mauvaise date dans une masked textbox (antérieure a la date du jour ou non valide genre 32/21/2100)?
- Comment interdire la modification du texte dans une textbox (je fais un choix dans une combobox qui se répete ensuite dans une textbox qu'on ne peut pas changer, si je choisi "autre" je peux entrer moi meme le texte dans cette meme TextBox)?
- Comment ne pas faire apparaitre de choix par defaut dans une combobox mais interdire un choix nul ou l'écriture manuelle dans celle-ci?

Tous vos conseils seront les bienvenus!!!

Loke

7 réponses

raffika Messages postés 269 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 12 mars 2011
7 juin 2010 à 18:39
Salut,
pour interdire une date fausse dans un textbox
il n'y a pas à ma connaissance de méthode toute faite
ou de controle tout fait pour ça...
Tu dois toi même programmer pour obtenir ce résultat.
Pour interdire la modification du texte d'un textbox,
fouille un peu dans les propriétés du textbox,
il n'y en as pas beaucoup et elles sont toutes décrites,
il y en a une juste pour ce que tu veux que tu peux mettre
à true ou false ;)
Pour le combobox, met-le en DropDownList.

a+
0
meriem123435 Messages postés 4 Date d'inscription dimanche 9 mai 2010 Statut Membre Dernière intervention 19 décembre 2010
7 juin 2010 à 19:24
Bonjour,

Tout ce que je vais te dire là marche sur VB6 sur les autres versions j'en sais rien, je n'ai programmé que sur VB6


-Bref, il y'a une fonction prédéfinie sur VB qui te donne la date d'aujourd'hui automatiquement c'est la fonction CStr(Date), tu peux l'affecter à ton textbox ou comparer avec à toi voir ce que tu veux faire dans ton programme ...


-Pour interdire la modification dans un textbox tu vas dans les propriétés de ce text et tu mets enabled=false ou bien dans ton code tu mets text1.enabled=false
Mais si j'ai bien compris si on choisis "autre" dans la combolist dans ce cas là on peut modifier, si c'est le cas tu testes sur le choix que tu vas faire dans ta combobox si tu connais l'emplacement de "autre" par exemple dans ta combox tu affectes à une var l'emplacement du choix de l'utilisateur, par exemple:


autre se trouve par exemple au 6ème emplacement dans ta combobox et ben tu fais
var=combo1.listindex// listindex nous permet de connaitre la position de l'élément sélectionné dans ta combobox

if var <>6 then // puis tu testes suivant les cas
text1.enabled=false// ici tu ne peux pas écrire dans textbox
.......
else
text1.enabled=true// ici tu peux écrire dans ton textbox
end if


-Pour ta combobox tu vas dans ses propriétés et dans Style tu choisis DropDownList


Amicalement
0
LoKe74150 Messages postés 5 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 7 juin 2010
7 juin 2010 à 19:31
Nikel pour DropDownList, pour interdire l'écriture de la TextBox je pense que ce sera l'option ReadOnly ou meme Enable, et le bout de code sera tres bien aussi pour l'option Autre, reste a voir comment je peux la manipuler en code...merci a vous deux

Par contre pour ce qui est de la date je m'imaginais bien que ce serait du code mais c'est justement la que je ne sais pas comment faire.
J'ai deja trouve la fonction qui me donne la date du jour mais ce que je veux interdire c'est que la date de livraison soit non valide...
J'imagine un "si" avec un messagebox qui dit que la date est mauvaise si on sort du controle MaskedBox, mais je ne sais pas comment vérifier la double condition:
- date de livraison > date du jour
- date de livraison valide (et pas 31 fevrier 2050)

Loke
0
raffika Messages postés 269 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 12 mars 2011
7 juin 2010 à 20:07
Salut,
quelques infos sur l'utilisation des dates
en vb.net,
date du jour :
DateAndTime.Today
créer une date pour comparer avec une autre :
Dim mydate As Date
mydate = new date(2010,6,7) ''par exemple
ensuite tu pourras comparer la
date du jour avec celle reçue
ou avec une autre que tu aura crée
il faudra penser aussi à vérifier
que le mois ne dépasse pas 12
comme le jour qui ne doit pas dépasser
31 ou selon le mois,
pour février, vérifier
si l'année est bissextile :
Date.IsLeapYear("2010")
renvoie false car 2010 n'est pas
sinon ça renverrai true
Voilà a+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
raffika Messages postés 269 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 12 mars 2011
7 juin 2010 à 20:15
Ps : tu n'est pas obligé de mettre des guillemet dans
Date.IsLeapYear("2010")... salut
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
8 juin 2010 à 08:46
Bonjour,

EN VB6 il existe un contrôle calendrier (ou DTPicker, je ne sais plus exactement) qui te permet de sélectionner une date sans avoir à la saisir. Tu es déjà délesté de la validité de ta date au sens calendaire du terme.

Te reste plus qu'à tester si elle est inférieure ou non à la date du jour.

Calade
0
tidjool Messages postés 102 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 16 août 2012
6 juil. 2010 à 12:15
Bonjour,

En ce qui concerne la permission de saisi quand la valeur de la combo est "autre", je pense qu'il faut faire un test sur le contenu de celle-ci (après l'évènement combobox.textchange)
Exemple :

if combobox1.text ="autre" then
textbox1.readonly = false
else
textbox1.readonly = true
end if

@+
julien
0
Rejoignez-nous