"Griser" Textbox false

Résolu/Fermé
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018 - 11 avril 2008 à 15:23
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018 - 16 avril 2008 à 13:28
Bonjour,
j ai dans un formulaire un frame avec 4 boutonsoption qui selon la selection d' 1 bouton permet la saisie dans le textbox correspondant. Mon code fonctionne mais je voudrai "griser" les 3 textbox false pour une meilleure lisibilite

Private Sub BTN_Cheque_click()

TXT_Prelevement.Enabled = False
TXT_Virement.Enabled = False
TXT_Especes.Enabled = False
TXT_ChequeN°.Enabled = True
End Sub

et idem inversé pour les 3 autres

merci

20 réponses

artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
11 avril 2008 à 15:38
pour unemeilleur lisibilité je te conseil de rendre invisible carrément les deux autres. au lieu de mettre "ennabled" mais "visible" comme ça c'est plus simple
sinon suffit juste de faire Textbox.backcolor = #000000
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
11 avril 2008 à 15:46
re,

je viens de lire ton post et j'ai fait un essai dans le fichier. Il y a un gros beug bloquant le programme ... tu as mis dans l'évènement click de la Frame le choix des ratios ... si tu click dans la frame en dehors des ratios ... il y a un beug.

Pour cette question : Dans un module déclare une variable nature en integer. Dans l'évènement click des boutons ratios tu mets: pour le premier module.nature = 0 et dessous module.natureBTN, le 2ème module.nature = 1 et dessous module.natureBTN... etc.
Dans le module tu écris une procédure acec un select case:

Public Sub natureBTN()
With UserForm1
   Select Case nature
      Case 0
         .TXT_Prelevement.Enabled = False 
         .TXT_Virement.Enabled = False 
         .TXT_Especes.Enabled = False 
         .TXT_ChequeN°.Enabled = True 
      Case 1
         .TXT_Prelevement.Enabled = False 
         .TXT_Virement.Enabled = False 
         .TXT_Especes.Enabled = True 
         .TXT_ChequeN°.Enabled = False
... etc
   End Select
End With
End Sub


;o)

polux
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
11 avril 2008 à 15:58
re polux, j ai viré tout ce qu il y avait dans le frame nature ainsi que les code des combobox editeur, categorie etc...
ça fonctionne avec le code ci dessus, mais connaissant tes capacites : je vais tester tes codes !
merci de m aider a avancer dans mon projet
@ +
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
11 avril 2008 à 16:12
re polux, je met donc ton code dans un module et je supprime mes code du formulaire ?
merci
0

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

Posez votre question
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
11 avril 2008 à 16:19
tu peux le mettre dans le formulaire mais ce n'est pas très propre ...
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
12 avril 2008 à 06:41
re polux,
je dois creer plusieurs modules ? je viens d essayer mais ne maitrise pas vraiment... je me calme pour le we et m y remet semaine prochaine.
Merci et bon WE
@+
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
15 avril 2008 à 13:50
Bonjour polux et au forum,
J ai creer le module 2 dans lequel j ai mis :

Option Explicit

Dim natureBTN_variable As Integer

Public Sub natureBTN()
With Formulaire_de_saisies
Select Case nature
Case 0
.TXT_Prelevement.Enabled = False
.TXT_Virement.Enabled = False
.TXT_Especes.Enabled = False
.TXT_ChequeN°.Enabled = True

Case 1
.TXT_Prelevement.Enabled = False
.TXT_Virement.Enabled = False
.TXT_Especes.Enabled = True
.TXT_ChequeN°.Enabled = False


etc...

End Select
End With
End Sub

et dans mon userform ( Formulaire_de_saisies) :

Private Sub Frame_Nature_Click()

End Sub

Private Sub BTN_Cheque_click()
Module2.nature = 0
Module2.natureBTN

End Sub

Private Sub BTN_Prelevement_click()
Module2.nature = 1
Module2.natureBTN

End Sub
etc ..
quand je clique sur un des 4 boutons radios il plante sur : .nature= dans le cas cheque

Private Sub BTN_Cheque_click()
Module2.nature = 0
Module2.natureBTN

et idem sur les autres codes en fonction de la selection du bouton radio. J ai mal mis les codes ou erreur de saisie ?

Merci
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
15 avril 2008 à 14:17
bonjour

Normal, il n'y a pas de variable globale nommée nature dans le module2 mais natureBTN_variable... et il faut mettre public au lieu de dim pour une variable public ...

Option explicit

Public nature As Integer

Voilà là ça doit fonctionner

;o)

Polux
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
15 avril 2008 à 17:13
re, de cette façon ?

dans le module2 :

Option Explicit

Public nature As Integer

Public Sub natureBTN_variable()
With Formulaire_de_saisies
Select Case natureBTN_variable
Case 0
.TXT_Prelevement.Enabled = False
.TXT_Virement.Enabled = False
.TXT_Especes.Enabled = False
.TXT_ChequeN°.Enabled = True etc ...

et l userform :

Private Sub BTN_Cheque_click()
Module2.natureBTN_variable = 0
Module2.natureBTN

End Sub

Merci
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
15 avril 2008 à 19:09
non, il ne fallait changer que Dim natureBTN_variable As Integer par Public nature As Integer, le reste du module2 et de l'UserForm ne change pas ...

polux
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
15 avril 2008 à 19:49
re , jai mis cela mais ça beug :

Module2 :

Option Explicit

Public nature As Integer

Public Sub natureBTN()

With Formulaire_de_saisies
Select Case nature
Case 0
.TXT_ChequeN°.Enabled = True
.TXT_Prelevement.Enabled = False
.TXT_Virement.Enabled = False
.TXT_Especes.Enabled = False
ETC...
End Select
End With
End Sub

et dans userform (formulaire_de_saisies)

Private Sub BTN_Cheque_click()
Module2.nature = 0
Module2.natureBTN

End Sub

etc ..
je me suis "encore" trompé ?
merci
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
15 avril 2008 à 20:23
tu as un message d'erreur ?
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
16 avril 2008 à 08:06
Bonjour, oui j ai :
Erreur de compilation, variable non definie sur : Formulaire_de_saisies

Option Explicit

Public nature As Integer

Public Sub natureBTN()

With Formulaire_de_saisies
Select Case nature

Merci
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
16 avril 2008 à 08:19
re, j avais oublié de mettre : FRM_Formulaire_de_saisies et maitenat ça fonctionne, je voudrai maintenant attribué la teinte grisée aux textbox false
merci
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
16 avril 2008 à 09:46
Bonjour,

Pour griser les cellules il faut faire comme ça :
Select Case nature 
Case 0 
.TXT_ChequeN°.Enabled = True
.TXT_Prelevement.BackColor = &HC0C0C0
.TXT_Prelevement.Enabled = False 
.TXT_Virement.BackColor = &HC0C0C0
.TXT_Virement.Enabled = False
.TXT_Especes.BackColor = &HC0C0C0
.TXT_Especes.Enabled = False 
ETC... 
End Select 
End With 
End Sub 


;o)

polux
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
16 avril 2008 à 11:24
re, ça fonctionne !
j ai du faire copier/coller du code backcolor car il n 'acceptai pas les 0 , j avais &H11& et apres copie j ai :
&H80000011& = &H80000011 ( sans le &)
Par contre il me grise bien les 3 textbox false, mais si je change d avis ( selection d un autre bouton radio) les 4 se grisent en laissant toutefois la textbox voulue active.
j essaie donc de mettre un bouton annuler avec ce code

Private Sub BTN_Annuler_Click()
Unload Me

End Sub

mais il me ferme l userform alors que je souhaite le decharger tout en le gardant affiché pour une nouvelle saisie.
y a t il un moyen pour revenir a la derniere textbox remplie ?
merci
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
16 avril 2008 à 11:40
Effectivement il faut remettre les textbox à leur état initial, voilà qui devrait le faire.
Select Case nature 
Case 0 
.TXT_ChequeN°.BackColor = &H80000005&
.TXT_ChequeN°.Enabled = True
.TXT_Prelevement.BackColor = &HC0C0C0
.TXT_Prelevement.Enabled = False 
.TXT_Virement.BackColor = &HC0C0C0
.TXT_Virement.Enabled = False
.TXT_Especes.BackColor = &HC0C0C0
.TXT_Especes.Enabled = False 
Case 1
.TXT_ChequeN°.BackColor = &HC0C0C0
.TXT_ChequeN°.Enabled = False
.TXT_Prelevement.BackColor = &H80000005&
.TXT_Prelevement.Enabled = True
.TXT_Virement.BackColor = &HC0C0C0
.TXT_Virement.Enabled = False
.TXT_Especes.BackColor = &HC0C0C0
.TXT_Especes.Enabled = False 

ETC... 
End Select 
End With 
End Sub 


"Unload me" ferme l'userform courant et vide la mémoire. Pour recharger, il faut faire UserForm.Show à la suite de Unload me

;o)

polux
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
16 avril 2008 à 12:03
Super génial polux !!!
je clos ce post... pour en ouvrir un autre pour avancer dans mon projet grace a ton aide precieuse !
Encore merci et a bientot
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
16 avril 2008 à 12:10
de rien

;o)

polux
0
Gil369 Messages postés 120 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 7 novembre 2018
16 avril 2008 à 13:28
Select Case nature
Case 0
.TXT_ChequeN°.Enabled = True
.TXT_Prelevement.BackColor = &HC0C0C0
.TXT_Prelevement.Enabled = False
.TXT_Virement.BackColor = &HC0C0C0
.TXT_Virement.Enabled = False
.TXT_Especes.BackColor = &HC0C0C0
.TXT_Especes.Enabled = False
ETC...
End Select
End With
End Sub
0