Gestion de textbox par macro
Bonjour à tous.
En préambule, une petite présentation, qui servira accessoirement de prévention : je ne suis absolument pas informaticien. Les quelques (rares) connaissances du visual basic dont je dispose sont exclusivement empiriques, donc ma façon de programmer doit ressembler à peu près au pire cauchemar de tout informaticien qui se respecte.
Après avoir parcouru en long en large et en travers ce forum, je me résoud à poster une nouvelle discussion. La réponse à ma question est certainement déjà sur le forum, mais bon, je n'ai rien trouvé d'assez clair pour pouvoir l'utiliser.
Mon problème est donc le suivant.
sur une feuille de calcul, je dois gérer des groupes de 4 petites images, visibles ou non selon les circonstances, dont le nom se trouve dans une mini base de donnée sur une autre feuille. jusque là, je m'en sors à peu près.
en plus de ces images, je dois gérer une étiquette, qui apparait lorsque la souris passe au dessus de l'une des images. Pour ça aussi, je pense pouvoir m'en sortir.
Le problème arrive lorsque je veux modifier automatiquement (par l'intermédiaire d'une macro) le texte de ladite étiquette. je tente désespérément d'utiliser le .caption, et excel me renvoie une erreur propriété ou méthode non gérée par cet objet. Et là, je bloque. Quelqu'un peut m'aider ?
Pour tenter d'être plus clair voici ce que j'ai écrit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Sub test()
Dim Nom_image_originale, _
Nom_BDD As String
Nom_BDD = "TE-MOB-001"
ActiveSheet.Shapes("Im_Et_NS").Select
Selection.Copy
Range("CH36").Select
'dans la version finale, cet emplacement sera défini par la position de la
'souris au moment de la demande de création
ActiveSheet.Paste
Nom_image_originale = Selection.Name
Selection.Name = Nom_BDD + Right(Nom_image_originale, 3)
'même code pour les trois autres images
ActiveSheet.Shapes("Tx").Select
Selection.Copy
Range("CH36").Select
ActiveSheet.Paste
Selection.Caption = "Texte de l'étiquette" 'cette ligne provoque une erreur
Selection.Name = "Nom_BDD" + "_Tx"
End Sub
'l'étiquette d'origine a été créée comme ceci
' ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1", Link:=False, _
DisplayAsIcon:=False, Left:=1123.5, Top:=395.25, Width:=87, Height:= _
24).Select |
Voilà, j'espère ne pas avoir été trop brouillon dans mes explications, et que quelqu'un saura me donner des idées, voire me donner un cours de VBA excel (ca me semble de plus en plus nécessaire).