Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Valeur case à cocher et zone de texte visible ou non

3 réponses
Avatar
Patrick ERIAU
Salut tout le monde,

Dans un formulaire principal j'ai une page d'onglets.
Dans l'un de ces onglets un s/form en affichage mode unique.

Dans ce s/form les zonetxt1, zonetxt2 et 1 case a cocher.

Sur l'=E9v=E8nement AfterUpdate de la case a cocher et
l'=E9v=E8nement Open de mon s/form :
If Caseacocher.Value =3D True Then
zonetxt1.Visible =3D True
zonetxt2.Visible =3D False
Else
zonetxt1.Visible =3D False
zonetxt2.Visible =3D True
End If

Cette proc=E9dure fonctionne. Mais il y a un mais...
Lorsque je saisie un enregistrement dans mon s/form et que
je coche la case, la proc=E9dure fonctionne. Mais lorsque
j'ajoute un nouvel enregistrement =E0 l'aide d'un bouton de
commande, ma zonetxt2 est toujours visible, alors que
j'aimerai que cela soit la zonetxt1 (=E9tat initial).

Que dois-je faire?

Merci d'avance.

3 réponses

Avatar
Raymond [mvp]
Bonjour.

il ne faut pas placer ta fonction dans Form_Open mais Form_Current pour
pouvoir l'exécuter à chaque changement d'enregistrement et réinitialiser. Il
faut vérifier que tu as bien une valeur par défaut dans Caseacocher.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Patrick ERIAU" a écrit dans le
message de news:ad0001c48835$f37f0a90$
Salut tout le monde,

Dans un formulaire principal j'ai une page d'onglets.
Dans l'un de ces onglets un s/form en affichage mode unique.

Dans ce s/form les zonetxt1, zonetxt2 et 1 case a cocher.

Sur l'évènement AfterUpdate de la case a cocher et
l'évènement Open de mon s/form :
If Caseacocher.Value = True Then
zonetxt1.Visible = True
zonetxt2.Visible = False
Else
zonetxt1.Visible = False
zonetxt2.Visible = True
End If

Cette procédure fonctionne. Mais il y a un mais...
Lorsque je saisie un enregistrement dans mon s/form et que
je coche la case, la procédure fonctionne. Mais lorsque
j'ajoute un nouvel enregistrement à l'aide d'un bouton de
commande, ma zonetxt2 est toujours visible, alors que
j'aimerai que cela soit la zonetxt1 (état initial).

Que dois-je faire?

Merci d'avance.
Avatar
Patrick ERIAU
Salut Raymond,

Merci pour l'info.
J'ai placé une valeur par défaut sur caseacocher.

Tu n'aurais pas une idée pour mon post précédent
concernant zonedeliste liées + boite de dialogue et
publipostage?

@+
-----Message d'origine-----
Bonjour.

il ne faut pas placer ta fonction dans Form_Open mais
Form_Current pour

pouvoir l'exécuter à chaque changement d'enregistrement
et réinitialiser. Il

faut vérifier que tu as bien une valeur par défaut dans
Caseacocher.


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Patrick ERIAU" a
écrit dans le

message de news:ad0001c48835$f37f0a90$
Salut tout le monde,

Dans un formulaire principal j'ai une page d'onglets.
Dans l'un de ces onglets un s/form en affichage mode
unique.


Dans ce s/form les zonetxt1, zonetxt2 et 1 case a cocher.

Sur l'évènement AfterUpdate de la case a cocher et
l'évènement Open de mon s/form :
If Caseacocher.Value = True Then
zonetxt1.Visible = True
zonetxt2.Visible = False
Else
zonetxt1.Visible = False
zonetxt2.Visible = True
End If

Cette procédure fonctionne. Mais il y a un mais...
Lorsque je saisie un enregistrement dans mon s/form et
que

je coche la case, la procédure fonctionne. Mais lorsque
j'ajoute un nouvel enregistrement à l'aide d'un bouton de
commande, ma zonetxt2 est toujours visible, alors que
j'aimerai que cela soit la zonetxt1 (état initial).

Que dois-je faire?

Merci d'avance.


.



Avatar
Yann
Salut Patrick,
Au lieu de :
If Caseacocher.Value = True Then
zonetxt1.Visible = True
zonetxt2.Visible = False
Else
zonetxt1.Visible = False
zonetxt2.Visible = True
End If

Tu as un peu mieux comme code :
zonetxt1.Visible = Caseacocher.Value
zonetxt2.Visible = Not Caseacocher.Value

Sinon, je suis d'accord avec Raymond...

Bye
Yann

-----Message d'origine-----
Salut tout le monde,

Dans un formulaire principal j'ai une page d'onglets.
Dans l'un de ces onglets un s/form en affichage mode
unique.


Dans ce s/form les zonetxt1, zonetxt2 et 1 case a cocher.

Sur l'évènement AfterUpdate de la case a cocher et
l'évènement Open de mon s/form :
If Caseacocher.Value = True Then
zonetxt1.Visible = True
zonetxt2.Visible = False
Else
zonetxt1.Visible = False
zonetxt2.Visible = True
End If

Cette procédure fonctionne. Mais il y a un mais...
Lorsque je saisie un enregistrement dans mon s/form et
que

je coche la case, la procédure fonctionne. Mais lorsque
j'ajoute un nouvel enregistrement à l'aide d'un bouton de
commande, ma zonetxt2 est toujours visible, alors que
j'aimerai que cela soit la zonetxt1 (état initial).

Que dois-je faire?

Merci d'avance.
.