2 pièce(s) jointe(s)
Sélectionner la zone de texte d'un shape type textbox à partir d'une macro
Bonjour,
J'ai crée une classe ShapesEvent afin d'implémenter les shapes des évènements suivants :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Public Sub ClickShape()
On Error Resume Next
If ShapesEvts Is Nothing Then Set ShapesEvts = New Cls_ShapesEvents
ShapesEvts.ShapeClic ActiveSheet.Shapes(Application.Caller)
End Sub
Private Sub ShapesEvts_GetFocus(shp As Shape)
shp.Select
End Sub
Private Sub ShapesEvts_LostFocus(shp As Shape)
End Sub |
Mon problème est le suivant : je n'arrive pas à sélectionner la zone de texte des textbox qui génèrent l'évènement GetFocus. En effet, shp.Select permet seulement de sélectionner l'objet dans la feuille excel, j'obtiens le résultat suivant:
Pièce jointe 177448
Il faut ensuite reclicker sur l'objet afin de pouvoir modifier le texte manuellement :
Pièce jointe 177449
Afin de faciliter l'interface, je souhaiterais pouvoir sélectionner la zone de texte au niveau de la méthode GetFocus et pas seulement l'objet. Je ne trouve pas de solution mise à part charger un Userform avec une zone de texte mais mon but est de minimiser le nombre de click.
Si vous avez une solution, je suis preneur.
Merci d'avance !