Bonjour,


J'ai crée une classe ShapesEvent afin d'implémenter les shapes des évènements suivants :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Nom : mauvais resultat.jpg
Affichages : 815
Taille : 5,3 Ko

Il faut ensuite reclicker sur l'objet afin de pouvoir modifier le texte manuellement :
Nom : bon résultat.jpg
Affichages : 813
Taille : 6,5 Ko


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 !