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

PB Comment actionner un bouton d'un Sous Form

3 réponses
Avatar
xb
Re bonjour,
Eh oui une autre question :
J'ai un bouton dans un SousForm2 (MonForm/SousForm1/SousForm2) et je
voudrais l'actionner par un SendKeys "ENTER" depuis un autre formulaire.
Mais comment faire ?

Forms("MonForm")("SF1")("SF2").SetFocus
SendKeys "{ENTER}"

Ne fonctionne pas

J'ai aussi essayé par Forms("MonForm")("SF1")("SF2")("MonBouton").SetFocus

et pas de résultat ?

A+

3 réponses

Avatar
Eric
Bonjour xb,

Testes ca :

Forms("FRM1")("SF1").SetFocus
Forms("FRM1")("SF1")("SF2").SetFocus
Forms!FRM1.SF1.Form!SF2.Controls!MonBouton.SetFocus

et tu mets sur l'évènement Réception du focus de MonBouton un appel a la
procedure Click de MonBouton:

Private Sub MonBouton_GotFocus()
Call MonBouton_Click
End Sub

Il faudra ensuite mettre le focus sur un autre controle de ton SF2 apres
la ligne Forms!FRM1.SF1.Form!SF2.Controls!MonBouton.SetFocus du genre
Forms!FRM1.SF1.Form!SF2.Controls!Texte1.SetFocus pour éviter que
MonBouton garde le focus, voire remettre aussi le focus sur l'élément
qui a appelé ce traitement. Ce qui pourrait donner avec Commande3 le nom
du bouton déclenchant sur le formulaire FRM1 contenant le sous-form SF1
qui lui contient SF2 composé des contrôles Texte1 et MonBouton.

Private Sub Commande3_Click()
Forms("FRM1")("SF1").SetFocus
Forms("FRM1")("SF1")("SF2").SetFocus
Forms!FRM1.SF1.Form!SF2.Controls!MonBouton.SetFocus
Forms!FRM1.SF1.Form!SF2.Controls!Texte1.SetFocus
Me.Commande3.SetFocus
End Sub

Ok ?


J'ai un bouton dans un SousForm2 (MonForm/SousForm1/SousForm2) et je
voudrais l'actionner par un SendKeys "ENTER" depuis un autre formulaire.
Mais comment faire ?

Forms("MonForm")("SF1")("SF2").SetFocus
SendKeys "{ENTER}"

Ne fonctionne pas

J'ai aussi essayé par Forms("MonForm")("SF1")("SF2")("MonBouton").SetFocus

et pas de résultat ?



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...

J'ai peut-être mal lu la question. Ce que je t'ai donné permet
de lancer la procédure de MonBouton inscrit dans le
sous-sous-formulaire SF2 à partir d'une action sur un bouton du
formulaire principal FRM1.

En relisant ton post, tu parles de depuis un *autre*
formulaire.

J'ai un bouton dans un SousForm2 (MonForm/SousForm1/SousForm2) et je
voudrais l'actionner par un SendKeys "ENTER" depuis un autre formulaire.
Mais comment faire ?



Je n'avais pas fait attention car je m'étais interessé
uniquement à ton code. Donc, ne pas tenir compte éventuellement
de ma réponse.

Forms("MonForm")("SF1")("SF2").SetFocus
SendKeys "{ENTER}"

Ne fonctionne pas

J'ai aussi essayé par
Forms("MonForm")("SF1")("SF2")("MonBouton").SetFocus

et pas de résultat ?


--

A+
Eric


Avatar
xb
Cela fonctionne après plusieurs réitération de la cde mais à partir de là je
devrai pouvoir me débrouiller tout seul.

Merci pour la réponse et bon dimanche

"Eric" a écrit dans le message de news:

Bonjour xb,

Testes ca :

Forms("FRM1")("SF1").SetFocus
Forms("FRM1")("SF1")("SF2").SetFocus
Forms!FRM1.SF1.Form!SF2.Controls!MonBouton.SetFocus

et tu mets sur l'évènement Réception du focus de MonBouton un appel a la
procedure Click de MonBouton:

Private Sub MonBouton_GotFocus()
Call MonBouton_Click
End Sub

Il faudra ensuite mettre le focus sur un autre controle de ton SF2 apres
la ligne Forms!FRM1.SF1.Form!SF2.Controls!MonBouton.SetFocus du genre
Forms!FRM1.SF1.Form!SF2.Controls!Texte1.SetFocus pour éviter que
MonBouton garde le focus, voire remettre aussi le focus sur l'élément
qui a appelé ce traitement. Ce qui pourrait donner avec Commande3 le nom
du bouton déclenchant sur le formulaire FRM1 contenant le sous-form SF1
qui lui contient SF2 composé des contrôles Texte1 et MonBouton.

Private Sub Commande3_Click()
Forms("FRM1")("SF1").SetFocus
Forms("FRM1")("SF1")("SF2").SetFocus
Forms!FRM1.SF1.Form!SF2.Controls!MonBouton.SetFocus
Forms!FRM1.SF1.Form!SF2.Controls!Texte1.SetFocus
Me.Commande3.SetFocus
End Sub

Ok ?


J'ai un bouton dans un SousForm2 (MonForm/SousForm1/SousForm2) et je
voudrais l'actionner par un SendKeys "ENTER" depuis un autre formulaire.
Mais comment faire ?

Forms("MonForm")("SF1")("SF2").SetFocus
SendKeys "{ENTER}"

Ne fonctionne pas

J'ai aussi essayé par
Forms("MonForm")("SF1")("SF2")("MonBouton").SetFocus



et pas de résultat ?



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr