Verrouiller et griser les textbox

Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018 - 25 mars 2008 à 11:59
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 25 mars 2008 à 19:31
Bonjour a tous,
nouvel inscrit et deja a la recherche d infos...
je suis debutant en vba et tresorier d un club sportif, j ai commence un formulaire dans lequel j ai mis un frame avec 4 boutonoption, ( cheque,  prelevement, virement, especes )je souhaiterai qu en fonction du cochage dune des cases, un textbox soit valide et que les 3 autres soient verrouillees et grisees. ci joint le debut de mon code
Merci de votre aide
Cordialement

Private Sub Frame_Nature_Click()
    If BTN_Cheque.Value = True Then 'instructuion si l option est activee
        TXT_ChequeN°.Enabled = True
        TXT_Prelevement.Enabled = False
        TXT_Virement.Enabled = False
        TXT_Especes.Enabled = False
       
       
    ElseIf BTN_Prelevement.Value = True Then 'instructuion si l option est activee
        TXT_Prelevement.Enabled = True
        TXT_ChequeN°.Enabled = False
        TXT_Virement.Enabled = False
        TXT_Especes.Enabled = False
       
       
    ElseIf BTN_Virement.Value = True Then 'instructuion si l option est activee
        TXT_Virement.Enabled = True
        TXT_ChequeN°.Enabled = False
        TXT_Prelevement.Enabled = False
        TXT_Especes.Enabled = False
       
       
    ElseIf BTN_Especes.Value = True Then 'instructuion si l option est activee
        TXT_Especes.Enabled = True
        TXT_ChequeN°.Enabled = False
        TXT_Prelevement.Enabled = False
        TXT_Virement.Enabled = False
                        
                         End If
End Sub

21 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 mars 2008 à 12:07
Salut,

Je ne comprend pas pourquoi tu mets ton évènement dans l'evenement de Frame_Click...??

Utilise l'évènement Click des Options_Button...

A+
Exploreur

 Linux a un noyau, Windows un pépin

Un jeu en flash sympa...? Voir ici
Si vous voulez vous inscrire
mettez c
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 12:54
Salut,
Ce qui donne en simplifiant.
Option Explicit

Private Sub BTN_Cheque_Click()
Call DisableControls
End Sub<hr />
Private Sub BTN_Especes_Click()
Call DisableControls
End Sub<hr />
Private Sub BTN_Prelevement_Click()
Call DisableControls
End Sub<hr />
Private Sub BTN_Virement_Click()
Call DisableControls
End Sub<hr />
Private Sub DisableControls()
   TXT_ChequeN°.Enabled = BTN_Cheque.Value
   TXT_Prelevement.Enabled = BTN_Prelevement.Value
   TXT_Virement.Enabled = BTN_Virement.Value
   TXT_Especes.Enabled = BTN_Especes.Value
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
25 mars 2008 à 13:22
bonjour et merci pour vos reponses rapides !

Julien, j ai bien noté tes codes mais il me reste quelques confirmations :
je dois specifier "option explicit" avant chaque " private sub" sur chaque bouton ?
et mettre dans mon frame :
Private Sub DisableControls()
   TXT_ChequeN°.Enabled = BTN_Cheque.Value
   TXT_Prelevement.Enabled = BTN_Prelevement.Value
   TXT_Virement.Enabled = BTN_Virement.Value
   TXT_Especes.Enabled = BTN_Especes.Value
End Sub

Merci d avance pour votre aide

A+ Gilles
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 13:31
Salut,
"je dois specifier "option explicit" avant chaque " private sub" sur chaque bouton ?" Non , il suffit d'essayer pour voir que VB te gronde assez rapidement. un seul en haut du code du formulaire sera très bien.

"et mettre dans mon frame :"  qu'est ce que tu entends par mettre dans ton frame?

@+: Ju£i?n
Pensez: Réponse acceptée
0

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

Posez votre question
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
25 mars 2008 à 13:59
salut,
j ai creer un "frame " (cadre)dans lequel j ai mis mes 4 boutons option

Gilles
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
25 mars 2008 à 14:14
re salut,
ça fonctionne : mais case sont verrouiller,mais et il possible de les griser ?
Merci
Gilles
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 14:26
Re,
Si par griser tu entends changer la couleur du fond alors essaie ceci.

Option Explicit

Private Sub BTN_Cheque_Click()
   Call DisableControls
End Sub<hr />
Private Sub BTN_Especes_Click()
   Call DisableControls
End Sub<hr />
Private Sub BTN_Prelevement_Click()
   Call DisableControls
End Sub<hr />
Private Sub BTN_Virement_Click()
   Call DisableControls
End Sub<hr />
Private Sub DisableControls()
   
   TXT_ChequeN°.Enabled = BTN_Cheque.Value
   Call CheckBackColor(TXT_ChequeN°)
   
   TXT_Prelevement.Enabled = BTN_Prelevement.Value
   Call CheckBackColor(TXT_Prelevement)
   
   TXT_Virement.Enabled = BTN_Virement.Value
   Call CheckBackColor(TXT_Virement)
   
   TXT_Especes.Enabled = BTN_Especes.Value
   Call CheckBackColor(TXT_Especes)
   
   
End Sub<hr />
Private Sub CheckBackColor(Txt As TextBox)
   Txt.BackColor = IIf(Txt.Enabled, vbWhite, vbGrayText)
End Sub<hr />
, ----
[code.aspx?ID=41455 By Renfield]
ATTENTION le plus important est que tu comprennes bien ce que tu fais.

@+: Ju£i?n
Pensez: Réponse acceptée
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
25 mars 2008 à 14:39
re,
 c est justement ce que j essaie de faire, mais il n'y a que 3 jours que je decouvre vba avec livres et forum !!!
je te remercie, j essaie tout ça et te tiens au courant

A+ Gilles
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
25 mars 2008 à 14:47
re, en fait je voudrai que les "textbox" soient grisees lorsqu elles sont inactives
merci
Gilles
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 14:59
Re,
Et le dernier code posté ne te convient pas?  

@+: Ju£i?n
Pensez: Réponse acceptée
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
25 mars 2008 à 15:10
re, quand je clique sur le BTN_Cheque; il m affiche  " erreur d execution'13' "imcompatibilite de type" j ai peut etre mal placé mes codes ....
Gilles
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 15:13
Salut,
Pourrais tu reposter le code que toi tu utlises?

Car chez moi je n'ai pas de souci. mais je ne sui spas sur non plus que cela soit ce que tu cherchais.

@+: Ju£i?n
Pensez: Réponse acceptée
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
25 mars 2008 à 15:19
re,

Private Sub BTN_Cheque_Click()
    Call DisableControls
End Sub                                                idem pour les 4 boutons

Private Sub DisableControls()
   TXT_ChequeN°.Enabled = BTN_Cheque.Value
    Call CheckBackColor(TXT_ChequeN°)
  
   TXT_Prelevement.Enabled = BTN_Prelevement.Value
    Call CheckBackColor(TXT_Prelevement)
  
   TXT_Virement.Enabled = BTN_Virement.Value
    Call CheckBackColor(TXT_Virement)
  
   TXT_Especes.Enabled = BTN_Especes.Value
    Call CheckBackColor(TXT_Especes)
  
End Sub


Private Sub CheckBackColor(Txt As TextBox)
   Txt.BackColor = IIf(Txt.Enabled, vbWhite, vbGrayText)
End Sub

Gilles
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 15:27
Re,
Ou la... Bah le meme code chez moi fonctionne.

- Est tu sûr que ce sont TOUS des TextBox?
- Sur quelle Ligne s'arrete le programme en Debug?

@+: Ju£i?n
Pensez: Réponse acceptée
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
25 mars 2008 à 15:32
re, oui ce sont tous des textbox, ça plante sur :

   Call CheckBackColor(TXT_ChequeN°) le premier !

en tout cas merci de ta patience, c est super sympa !
Gilles
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 15:34
Re,
Y a pas de quoi.
Tu es bien en VB6? pas en VBA EXCEL ou quelques choses d'autres?

@+: Ju£i?n
Pensez: Réponse acceptée
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 15:37
Re,
OUPS je viens de relire le premier post.

Essaie ceci alors (le meme code mais avec la petite modif suivante)

Private Sub CheckBackColor(Txt AsMSForms.TextBox)
  Txt.BackColor = IIf(Txt.Enabled, vbWhite, vbGrayText)
End Sub<hr />, ----
[code.aspx?ID=41455 By Renfield]
(encore désolé pour la petite erreur)

@+: Ju£i?n
Pensez: Réponse acceptée
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
25 mars 2008 à 15:41
re, 
je travaille avec Excel 2007...
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 mars 2008 à 19:00
Re,

Pense à valider la/les réponse(s) qui ont résolu ton problème...

A+
Exploreur

 Linux a un noyau, Windows un pépin

Un jeu en flash sympa...? Voir ici
Si vous voulez vous inscrire
mettez comme parrain : exploreur
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
25 mars 2008 à 19:19
re, suis nouveau du jour ici !!
meme si tous mes problemes ne sont pas encore resolu, indique moi la marche a suivre
merci
A+
Gilles
0
Rejoignez-nous