Désactiver txtbox d'un USF depuis checkbox d'un autre USF

Bonjour,

Je recherche une procédure me permettant de pouvoir agir à partir d'une checkbox d'un premier USF (fm1) qui désactive des textbox ou combobox présents sur un autre USF (fm2).

J'ai bien une idée avec la procédure intervenant au changement de valeur de la checkbox toutefois ça ne marche pass

Private sub chk1_click()
fm2.controls("txt1").enabled=true
End sub

Dans l'idéal seule la checkbox 1 ou la 2 (chk1 & chk2) peuvent être cochées, chk1 désactivant le txt1 et le cbo1 de fm2 tandis que chk2 désactive txt2 et cbo2

Je vous joint mon fichier pour plus de compréhension

Merci d'avance pour votre aide.

49test.zip (17.30 Ko)

Bonjour Erwan1090,

Dans l'idéal seule la checkbox 1 ou la 2 (chk1 & chk2) peuvent être cochées

Dans ce cas, il te faut des OptionButton, ça te simplifiera grandement les choses

La solution :

Ajoute d'abord OptionButton1 et OptionButton2 à la place des CheckBox (et donne leur un même nom de groupe), puis :

Private Sub cmdValidation_Click()

    Load fm2

    If OptionButton1 Then
        fm2.TextBox1.Enabled = False
        fm2.ComboBox1.Enabled = False
    Else
        fm2.TextBox2.Enabled = False
        fm2.ComboBox2.Enabled = False
    End If

    fm2.Show

End Sub

Une autre solution aurait été de faire le test dans le 2e UserForm avec UserForm_Initialize ...

Cordialement,

Merci pour ta réponse,

En fait j'ai fini par trouver une solution mais je n'ai pas eu le temps de la poster.

Comme tu l'as suggéré je suis passé par UserForm_Initialize() dans ma deuxième USF, et j'ai fait des test sur les valeurs de mes deux checkbox de la première USF.

Après sur ma première Userform j'ai testé mes deux checkbox de telle manière que pour poursuivre, une seule devait être cochée.

Je n'ai pas mon programme sous la main mais le code placé dans la deuxième USF s'apparente au suivant:

Private Sub UserForm_Initialize()

If fm1.chk1=true then
txt1.Enabled=false
cbo1.Enabled=false
txt1.Backcolor = &"code couleur"&
cbo1.Backcolor= &"code couleur"&

ElseIf  fm1.chk2=true then
txt2.Enabled=false
cbo2.Enabled=false
txt2.Backcolor = &"code couleur"&
cbo2.Backcolor= &"code couleur"&

End If
End Sub

Ceci dit je vais essayer avec ta solution de passer par des OptionButton qui me parait plus simple ^^.

Merci encore.

Erwan

Rechercher des sujets similaires à "desactiver txtbox usf checkbox"