trouver le focus...

Le
greg
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 !!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #19535631
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 !!


isabelle
Le #19537531
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 !!



greg
Le #19539831
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 !!


greg
Le #19539821
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
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 !!


Daniel.C
Le #19540251
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 !!


Modeste
Le #19540541
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
Daniel.C
Le #19540511
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
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 !!






isabelle
Le #19540991
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 !!









Daniel.C
Le #19540951
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 !!











isabelle
Le #19540941
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 !!















Publicité
Poster une réponse
Anonyme