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

trouver le focus...

26 réponses
Avatar
greg
bonjour,
comment d=E9terminer quel contr=F4le a le focus dans une feuille excel en
vba ?
(pas une form, une worksheet classique... et typiquement, parmi des
contr=F4les activex genre boutons)

merci !!

10 réponses

1 2 3
Avatar
LSteph
bonjour,


Un bouton a le focus généralement quand d'une façon ou d'une autre on
vient de l'activer.. Cela présage donc qu'on sache très bien lequel!

aussi selont ce que tu entends par focus , qui au vu du nombre de
réponses qui affluent ...ne semble pas susciter une même compréhension
de tous peux tu préciser et aussi en dire un peu plus sur le contexte
et l'objectif...

Qu'entends tu également par
une feuille excel en vba



?

@+

--
lSteph


greg a écrit :
bonjour,
comment déterminer quel contrôle a le focus dans une feuille excel en
vba ?
(pas une form, une worksheet classique... et typiquement, parmi des
contrôles activex genre boutons)

merci !!


Avatar
isabelle
bonjour Greg,

Private Sub CommandButton1_Click()
MsgBox ActiveSheet.OLEObjects("CommandButton1").Object.Caption
End Sub

isabelle

greg a écrit :
bonjour,
comment déterminer quel contrôle a le focus dans une feuille excel en
vba ?
(pas une form, une worksheet classique... et typiquement, parmi des
contrôles activex genre boutons)

merci !!



Avatar
greg
bonjour,
typiquement c'est ce genre de chose que je voudrais, mais où la valeur
en dur "CommandButton1" serait remplacée par
qq chose du genre GetCurrentObjectName()

merci.

On 11 juin, 00:13, isabelle wrote:
bonjour Greg,

Private Sub CommandButton1_Click()
MsgBox ActiveSheet.OLEObjects("CommandButton1").Object.Caption
End Sub

isabelle

greg a écrit :

> bonjour,
> comment déterminer quel contrôle a le focus dans une feuille excel en
> vba ?
> (pas une form, une worksheet classique... et typiquement, parmi des
> contrôles activex genre boutons)

> merci !!


Avatar
greg
salut,
merci de ta réponse.

- j'entends par "une feuille excel en vba" en fait simplement que je
travaille sur un workbook excel, dans un onglet donné, que j'ai des
boutons activex dans cette feuille, et que la solution que je cherche
est à intégrer ds le code VBA de ce workbook. Je ne suis pas sur une
Form ni en VB .NET...
- pour préciser mon besoin, par ex ds la macro CommandButton1_Click()
je peux utiliser l'objet Me pour avoir le nom de l'onglet où je suis.
Je cherche à avoir le nom du bouton où je suis également, et je me di s
que je peux le trouver en ayant celui qui a le focus.
mon envie derrière est de lancer une macro en passant l'identité du
bouton appelant, pour que celle ci réagisse en fonction du bouton
cliqué.
Evidemment, je peux mettre en dur ds CommandButton1_Click() le fait
que c'est "CommandButton1" qui appelle, mais je cherchais plutot une
fonction qui fasse cela.

Je voulais utiliser une fonction qui me donne le nom de la procédure
en cours pour atteindre mon objectif mais les bouts de code trouvés
sur le net ne marchent pas bien, ils donnent le nom de la procédure
actuelle où se trouve le curseur ds la fenetre VBA.

J'espère que c'est un peu plus clair...

merci d'avance

On 10 juin, 21:01, LSteph wrote:
bonjour,

Un bouton a le focus généralement quand d'une façon ou d'une autre on
vient de l'activer.. Cela présage donc qu'on sache très bien lequel!

aussi selont ce que tu entends par focus , qui au vu du nombre de
réponses qui affluent ...ne semble pas susciter une même compréhens ion
de tous peux tu préciser et aussi  en dire  un peu plus sur le cont exte
et l'objectif...

Qu'entends tu également par

> une feuille excel en vba

?

@+

--
lSteph

greg a écrit :

> bonjour,
> comment déterminer quel contrôle a le focus dans une feuille excel en
> vba ?
> (pas une form, une worksheet classique... et typiquement, parmi des
> contrôles activex genre boutons)

> merci !!


Avatar
Daniel.C
Bonjour.
Associe à chacun de tes contrôles une macro :

Private Sub CheckBox1_GotFocus()
MsgBox CheckBox1.Name
End Sub

Cordialement.
Daniel

bonjour,
comment déterminer quel contrôle a le focus dans une feuille excel en
vba ?
(pas une form, une worksheet classique... et typiquement, parmi des
contrôles activex genre boutons)

merci !!


Avatar
Modeste
Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Associe à chacun de tes contrôles une macro :
Private Sub CheckBox1_GotFocus()
MsgBox CheckBox1.Name
End Sub



comment déterminer quel contrôle a le focus dans une feuille excel en
vba ?
(pas une form, une worksheet classique... et typiquement, parmi des
contrôles activex genre boutons)





dans le cas des objets NON issus de la barre d'outils Controls
comme le dit Daniel ajouter ce code à chaque objet

Sub Objet_appelant()
'---- issu de l'aide : Caller
Select Case TypeName(Application.Caller)
Case "Range"
v = Application.Caller.Address
Case "String"
v = Application.Caller
Case "Error"
v = "Error"
Case Else
v = "unknown"
End Select
MsgBox "caller = " & v
End Sub
Avatar
Daniel.C
Regarde le classeur ci-dessous; il te permet de récupérer le caption du
bouton sur lequel tu cliques :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijGmWcFAv.xlsm
Daniel

salut,
merci de ta réponse.

- j'entends par "une feuille excel en vba" en fait simplement que je
travaille sur un workbook excel, dans un onglet donné, que j'ai des
boutons activex dans cette feuille, et que la solution que je cherche
est à intégrer ds le code VBA de ce workbook. Je ne suis pas sur une
Form ni en VB .NET...
- pour préciser mon besoin, par ex ds la macro CommandButton1_Click()
je peux utiliser l'objet Me pour avoir le nom de l'onglet où je suis.
Je cherche à avoir le nom du bouton où je suis également, et je me dis
que je peux le trouver en ayant celui qui a le focus.
mon envie derrière est de lancer une macro en passant l'identité du
bouton appelant, pour que celle ci réagisse en fonction du bouton
cliqué.
Evidemment, je peux mettre en dur ds CommandButton1_Click() le fait
que c'est "CommandButton1" qui appelle, mais je cherchais plutot une
fonction qui fasse cela.

Je voulais utiliser une fonction qui me donne le nom de la procédure
en cours pour atteindre mon objectif mais les bouts de code trouvés
sur le net ne marchent pas bien, ils donnent le nom de la procédure
actuelle où se trouve le curseur ds la fenetre VBA.

J'espère que c'est un peu plus clair...

merci d'avance

On 10 juin, 21:01, LSteph wrote:
bonjour,

Un bouton a le focus généralement quand d'une façon ou d'une autre on
vient de l'activer.. Cela présage donc qu'on sache très bien lequel!

aussi selont ce que tu entends par focus , qui au vu du nombre de
réponses qui affluent ...ne semble pas susciter une même compréhension
de tous peux tu préciser et aussi  en dire  un peu plus sur le contexte
et l'objectif...

Qu'entends tu également par

une feuille excel en vba



?

@+

--
lSteph

greg a écrit :

bonjour,
comment déterminer quel contrôle a le focus dans une feuille excel en
vba ?
(pas une form, une worksheet classique... et typiquement, parmi des
contrôles activex genre boutons)



merci !!






Avatar
isabelle
bonjour Greg,

c'est possible en passant par un module de classe pour des contrôle mit
sur un UserForm, mais pas sur une feuille,

isabelle

greg a écrit :
bonjour,
typiquement c'est ce genre de chose que je voudrais, mais où la valeur
en dur "CommandButton1" serait remplacée par
qq chose du genre GetCurrentObjectName()

merci.

On 11 juin, 00:13, isabelle wrote:

bonjour Greg,

Private Sub CommandButton1_Click()
MsgBox ActiveSheet.OLEObjects("CommandButton1").Object.Caption
End Sub

isabelle

greg a écrit :


bonjour,
comment déterminer quel contrôle a le focus dans une feuille excel en
vba ?
(pas une form, une worksheet classique... et typiquement, parmi des
contrôles activex genre boutons)

merci !!









Avatar
Daniel.C
Bonjour Isabelle,
Euh, regarde mon post de 13:13:48.
Cordialement.
Daniel

bonjour Greg,

c'est possible en passant par un module de classe pour des contrôle mit sur
un UserForm, mais pas sur une feuille,

isabelle

greg a écrit :
bonjour,
typiquement c'est ce genre de chose que je voudrais, mais où la valeur
en dur "CommandButton1" serait remplacée par
qq chose du genre GetCurrentObjectName()

merci.

On 11 juin, 00:13, isabelle wrote:

bonjour Greg,

Private Sub CommandButton1_Click()
MsgBox ActiveSheet.OLEObjects("CommandButton1").Object.Caption
End Sub

isabelle

greg a écrit :


bonjour,
comment déterminer quel contrôle a le focus dans une feuille excel en
vba ?
(pas une form, une worksheet classique... et typiquement, parmi des
contrôles activex genre boutons)
merci !!











Avatar
isabelle
bonjour Daniel,

je voudrais bien, mais je n'ai pas xl2007,

isabelle

Daniel.C a écrit :
Bonjour Isabelle,
Euh, regarde mon post de 13:13:48.
Cordialement.
Daniel

bonjour Greg,

c'est possible en passant par un module de classe pour des contrôle
mit sur un UserForm, mais pas sur une feuille,

isabelle

greg a écrit :
bonjour,
typiquement c'est ce genre de chose que je voudrais, mais où la valeur
en dur "CommandButton1" serait remplacée par
qq chose du genre GetCurrentObjectName()

merci.

On 11 juin, 00:13, isabelle wrote:

bonjour Greg,

Private Sub CommandButton1_Click()
MsgBox ActiveSheet.OLEObjects("CommandButton1").Object.Caption
End Sub

isabelle

greg a écrit :


bonjour,
comment déterminer quel contrôle a le focus dans une feuille excel en
vba ?
(pas une form, une worksheet classique... et typiquement, parmi des
contrôles activex genre boutons)
merci !!















1 2 3