Cacher champ textbox d'un formulaire selon bouton d'option

salut!

J'ai un formulaire (userform), dans lequel j'ai deux boutons d'option (oui/non) et un champ text (textbox).

la valeur oui/non selon le bouton d'option choisi- apparait dans la cellule N21

la valeur du textbox apparait dans la cellule O21.

Jusqu'ici tout fonctionne.

Private Sub OK3_Click() ' en cliquant sur le bouton de commande "ok" du formulaire, les données sont transférées vers les cellules.

[N21].Value = IIf(OptionButton1, "yes", "no")

[O21].Value = TextBox2.Text

UserForm3.Hide

End Sub

Je voudrais ajouter dans le code du formulaire, que si le bouton d'option1 (optionbutton1) est choisi, alors la textbox du formulaire apparait.

sinon elle est invisible (valeur de défaut à l'ouverture du formulaire)

J'ai pensé à :

If OptionButton1.Enabled = True Then

TextBox2.Visible = False

End If

mais je ne sais pas comment placer cette macro ni où...

une proposition

Private Sub cas_choix_Click()

If Me.cas_choix Then

Me.TextBox1.Visible = True

Else

Me.TextBox1.Visible = False

End If

End Sub

pour avoir une meilleure réponse tu devrais joindre un fichier

ci joint un fichier avec ma question dedans...

il y a deux onglets, dans chacun il y a une question )

merci

224example.xlsm (25.73 Ko)

Bonjour

voila un exemple des OptionButton

A+

Maurice


re

zut

370example.xlsm (25.83 Ko)

ca fonctionne dans ton fichier mais pas quand je le met chez moi en l'adaptant

comme fichier originel n'est pas en francais ni en caracteres latins, je ne peux pas le joindre..

donc merci quand meme pour l'aide, j'apprecie.

bonjour

a bon peux être changer la ligne

Set Sh = Sheets(Sheet2.Name)

regarde bien

A+

Maurice

bonsoir Maurice.

Je vous joint une copie de mon fichier

j'ai mis les boutons en français afin que vous sachiez où vous devez appuyer (vous les trouverez en haut à gauche de chaque page jusqu'à ce que vous arriviez au problème)

tout le reste en langue étrangère, n'est pas nécessaire ç la compréhension du problème..

en gros la macro se trouve dans le USERFORM1

et la valeur soit de l'un des 3 boutons d'option c1, c2 ou c3 soit de la textbox1 - doit apparaitre dans la cellule N12 de l'onglet3.

J'ai copié le code dans le formulaire 1, en l'adaptant un peu, mais j'ai du rater qqch en route

en espérant que cela aide...

(j'y suis depuis ce matin, je ne peux plus voir mon ordinateur)

2342.xlsm (230.61 Ko)

bonsoir

bon dur dur

évite de renommer les objets ses plus facile a suivre

voila mes modife a voir si ca marche sur ton excel

Private Sub UserForm_Initialize()
   TextBox1.Visible = False
End Sub

Private Sub c1_Click()
   TextBox1.Visible = False
   TextBox1.Value = ""
End Sub

Private Sub c2_Click()
   TextBox1.Visible = False
   TextBox1.Value = ""
End Sub

Private Sub c3_Click()
   TextBox1.Visible = False
   TextBox1.Value = ""
End Sub

Private Sub other_Click()
   TextBox1.Visible = True
   TextBox1.SetFocus
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then
    KeyAscii = 0
    End If
End Sub

Private Sub Button1_Click()
   If c1.Value = True Then
      Sheet3.Range("N12") = "choix1"
   End If
   If c2.Value = True Then
      Sheet3.Range("N12") = "choix2"
   End If
   If c3.Value = True Then
       Sheet3.Range("N12") = "choix3"
   End If
If TextBox1.Value = "" Then Exit Sub
   Sh.Range("N12").Value = TextBox1.Value
   Unload Me
End Sub

A+

Maurice

merci énormement!!!! Ca fonctionne!!

vous m'avez sauve!!! merci mille fois!

bonjour

moi je préfère comme ca ses plus visible

Private Sub UserForm_Initialize()
' ''  TextBox1.Visible = False
End Sub

Private Sub OptionButton1_Click()
   TextBox1.Locked = True
   TextBox1.Value = "choix1"
End Sub

Private Sub OptionButton2_Click()
   TextBox1.Locked = True
   TextBox1.Value = "choix2"
End Sub

Private Sub OptionButton3_Click()
   TextBox1.Locked = True
   TextBox1.Value = "choix3"
End Sub

Private Sub OptionButton4_Click()
   TextBox1.Locked = False
   TextBox1.Value = ""
   TextBox1.SetFocus
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then
    KeyAscii = 0
    End If
End Sub

Private Sub Button1_Click()
If TextBox1.Value = "" Then Exit Sub
   Sh.Range("N12").Value = TextBox1.Value
   Unload Me
End Sub

A+

Maurice

Rechercher des sujets similaires à "cacher champ textbox formulaire bouton option"