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

Activation (.enabled=true) d'un bouton suivant valeurs champs

3 réponses
Avatar
jf.marchina
Je suis à la recherche d'un "truc" me permettant d'activer ou
désactiver un bouton en réponse à une frappe au clavier.
Plus précisément, j'aimerais qu'un bouton de validation de saisie ne
soit enabled qu'au cas où aucune zone de saisie ne soit vide.

Bouton. enabled = (zone1 <> Empty) AND (zone2 <> Empty)

Sur quel(s) événement(s) lié(s) probablement à zone1 et Zone2 faut-il
entrer cette définition de façon à ce que son évaluation soit en
adéquation avec le contenu réel de ces zones après frappe d'une touche
(dont la touche <Suppr>) ?

Merci de votre aide

3 réponses

Avatar
3stone
Salut,

"Marchina JF"
Je suis à la recherche d'un "truc" me permettant d'activer ou
désactiver un bouton en réponse à une frappe au clavier.
Plus précisément, j'aimerais qu'un bouton de validation de saisie ne
soit enabled qu'au cas où aucune zone de saisie ne soit vide.

Bouton. enabled = (zone1 <> Empty) AND (zone2 <> Empty)

Sur quel(s) événement(s) lié(s) probablement à zone1 et Zone2 faut-il
entrer cette définition de façon à ce que son évaluation soit en
adéquation avec le contenu réel de ces zones après frappe d'une touche
(dont la touche <Suppr>) ?



Tu commence par désactiver ton bouton, ensuite,
tu te fait une petite sub...


Sub ActiveBouton()
Me!MonBouton.Enabled = (Not(IsNull(zone1)) And Not(IsNull(zone2)))
End Sub

et, dans l'après mise à jour des deux zones, tu mets:

Call ActiveBouton


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
jf.marchina
Merci de votre réponse qui, malheureusement ne résoud pas mon
problème.
(Je l'avais d'ailleurs déjà mise en oeuvre)

L'activation ou désactivation du bouton n'est effective qu'après être
sorti de la zone qui aurait du produire un changement, en cliquant sur
une autre zone active que celle en cours (autant activer le bouton
systématiquement et contrôler le contenu des zones de saisie, ce que
justement j'aimerais éviter !).

Exemple :

contenus de
Zone 1 Zone2 bouton.enabled
-----------------------------------
faux ! je tape ensuite A dans Zone1
A faux !
A 1 faux ? devient vrai si je reclique sur
Zone 1
ou un autre contrôle
A 1 vrai ! je supprime A de Zone1
1 vrai ? devient faux si je clique sur un
autre contrôle

J'ai le même phénomène en utilisant les événements OnKeyDown, OnKeyUp,
OnKeyPress

"3stone" wrote in message news:...
Salut,

"Marchina JF"
Je suis à la recherche d'un "truc" me permettant d'activer ou
désactiver un bouton en réponse à une frappe au clavier.
Plus précisément, j'aimerais qu'un bouton de validation de saisie ne
soit enabled qu'au cas où aucune zone de saisie ne soit vide.

Bouton. enabled = (zone1 <> Empty) AND (zone2 <> Empty)

Sur quel(s) événement(s) lié(s) probablement à zone1 et Zone2 faut-il
entrer cette définition de façon à ce que son évaluation soit en
adéquation avec le contenu réel de ces zones après frappe d'une touche
(dont la touche <Suppr>) ?



Tu commence par désactiver ton bouton, ensuite,
tu te fait une petite sub...


Sub ActiveBouton()
Me!MonBouton.Enabled = (Not(IsNull(zone1)) And Not(IsNull(zone2)))
End Sub

et, dans l'après mise à jour des deux zones, tu mets:

Call ActiveBouton



Avatar
3stone
Salut,

"Marchina JF"
L'activation ou désactivation du bouton n'est effective qu'après être
sorti de la zone qui aurait du produire un changement, en cliquant sur
une autre zone active que celle en cours (autant activer le bouton
systématiquement et contrôler le contenu des zones de saisie, ce que
justement j'aimerais éviter !).
<snip>



Si tu ne veux pas exécuter le code déclencher par le clic sur le bouton
au cas ou zone1 et zone2 ne serait pas saisie, teste-en plutot le contenu
dans le bouton.

If len(Nz(Zone1),"") = 0 _
OR Len(Nz(Zone2),"") = 0 Then
Msgbox " blablaa..."
Exit sub
end if



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------