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

changement d'état d'un bouton par VBA

6 réponses
Avatar
vince
Bonjour a tous,
j'aimerais savoir s'il est possible de modifier la position d'un bouton
bascule (passer de 'enfoncé' à 'relaché') dans un formulaire, par VBA.


Merci pour vos réponses, et bonne fin de WE

6 réponses

Avatar
3stone
Salut,

"vince"
j'aimerais savoir s'il est possible de modifier la position d'un bouton
bascule (passer de 'enfoncé' à 'relaché') dans un formulaire, par VBA.



Un bouton bascule est un boolean, comme une case à cocher
ou un bouton radio...

donc, mabascule = false (ou true)



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

Avatar
vince
Ah ben oui, je cherchais plus compliqué !
Merci.
Par contre, dans mon cas (tordu ?), ca ne fonctionne pas.
En fait, je demande une confirmation sur le clic de l'utilisateur. S'il ne
confirme pas, il faut que le bouton remonte.
Je met donc sa valeur a false. Malheureusement, la mise a jour de
l'enfoncement se fait en fin de Sub.
Dans la pratique, ca me donne:
l'utilisateur enfonce -> message de confirmation.
Si pas de confirmation: on et le bouton a false, ce qui fait qu'il remonte.
VBA sort alors de la routine, et la demande initiale est prise en compte: le
bouton s'enfonce.
Je suis un peu coincé.

Voici mon code:
----------------

Dim reponse As String
reponse = MsgBox("Confirmez.",vbOKCancel, "Attention !")
If reponse <> "2" Then
Etat_contact = 1 ' contact ferme
Else
Etat_contact = 2 ' contact ouvert
mabascule = false
End If


"3stone" a écrit dans le message de news:
#
Salut,

"vince"
j'aimerais savoir s'il est possible de modifier la position d'un bouton
bascule (passer de 'enfoncé' à 'relaché') dans un formulaire, par VBA.



Un bouton bascule est un boolean, comme une case à cocher
ou un bouton radio...

donc, mabascule = false (ou true)



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







Avatar
vince
C'est bien sur le code qui est appelé lorsque je clique sur mabascule.
(Private Sub mabascule_GotFocus())
"vince" a écrit dans le message de news:
411fa10f$0$924$
Ah ben oui, je cherchais plus compliqué !
Merci.
Par contre, dans mon cas (tordu ?), ca ne fonctionne pas.
En fait, je demande une confirmation sur le clic de l'utilisateur. S'il ne
confirme pas, il faut que le bouton remonte.
Je met donc sa valeur a false. Malheureusement, la mise a jour de
l'enfoncement se fait en fin de Sub.
Dans la pratique, ca me donne:
l'utilisateur enfonce -> message de confirmation.
Si pas de confirmation: on et le bouton a false, ce qui fait qu'il
remonte.

VBA sort alors de la routine, et la demande initiale est prise en compte:
le

bouton s'enfonce.
Je suis un peu coincé.

Voici mon code:
----------------

Dim reponse As String
reponse = MsgBox("Confirmez.",vbOKCancel, "Attention !")
If reponse <> "2" Then
Etat_contact = 1 ' contact ferme
Else
Etat_contact = 2 ' contact ouvert
mabascule = false
End If


"3stone" a écrit dans le message de news:
#
Salut,

"vince"
j'aimerais savoir s'il est possible de modifier la position d'un
bouton



bascule (passer de 'enfoncé' à 'relaché') dans un formulaire, par VBA.



Un bouton bascule est un boolean, comme une case à cocher
ou un bouton radio...

donc, mabascule = false (ou true)



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











Avatar
toutes les propriétés des objets que tu définis dans ton
formulaire via la fenêtre de construction "propriétés"
sont accassibles en vba : il suffit de faire "f1" sur la
ligne de propriété en question pour avoir tous les
renseignements
-----Message d'origine-----
Salut,

"vince"
j'aimerais savoir s'il est possible de modifier la
position d'un bouton


bascule (passer de 'enfoncé' à 'relaché') dans un
formulaire, par VBA.




Un bouton bascule est un boolean, comme une case à
cocher

ou un bouton radio...

donc, mabascule = false (ou true)



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




.




Avatar
3stone
Salut,

"vince"
C'est bien sur le code qui est appelé lorsque je clique sur mabascule.
(Private Sub mabascule_GotFocus())




Pas sur "GotFocus"...
mais bien dans l'événement "Avant mise à jour"


Private Sub MaBascule_BeforeUpdate(Cancel As Integer)
If MsgBox("Confirmez", vbOKCancel, "Attention !") = vbCancel Then
Cancel = True
End If

Ens Sub


pour profiter de la possibilité d'annuler (par le cancel)



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

Avatar
vince
C'est bon, je te remercie. J'avais réussi a m'en sortir.


"3stone" a écrit dans le message de news:
#
Salut,

"vince"
C'est bien sur le code qui est appelé lorsque je clique sur mabascule.
(Private Sub mabascule_GotFocus())




Pas sur "GotFocus"...
mais bien dans l'événement "Avant mise à jour"


Private Sub MaBascule_BeforeUpdate(Cancel As Integer)
If MsgBox("Confirmez", vbOKCancel, "Attention !") = vbCancel Then
Cancel = True
End If

Ens Sub


pour profiter de la possibilité d'annuler (par le cancel)



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