1 pièce(s) jointe(s)
Shapes - Comment changer le nom d'une shape appartenant à un groupe
Bonjour,
Voici mon problème :
Dans le fichier joint, en cliquant sur shapes, vous modifiez le contenu.
Sauf que ça ne marche pas quand la shape appartient à un groupe.
Ce qui est bizarre, c'est que pour une shape appartenant à un groupe, on peut changer son nom mais pas son contenu.
Quelqu'un a-t-il une solution ?
Merci d'avance.
PS : je ne me vois pas devoir dégrouper, modifier puis regrouper ... ça ne serait pas très propre.
PS2 : Je tourne sur Excel 2000
Voici le code :
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 32 33 34 35 36 37 38 39 40 41 42
|
Option Explicit
Sub Rectangle_QuandClic()
Dim Active_Shape As String
'on récupère le nom de l'objet qui a appelé
Active_Shape = Application.Caller
'on lance la fonction pour modifier l'objet en question
'au départ, on cherche dans la feuille active
Call Changer(ActiveSheet.Shapes, Active_Shape)
End Sub
Function Changer(ouChercher, quoiChercher)
Dim s As Shape
For Each s In ouChercher
'on passe en revue tous les shpaes
If s.Type = msoGroup Then
'on a trouvé un groupe
Call Changer(s.GroupItems, quoiChercher) 'on cherche dans le groupe
Else
'sinon, on continue
If s.Name = quoiChercher Then
'le nom correspond
'alors on fait des modif
s.Name = s.Name ' Pas de bug pour changer le nom
'ici, cela bug quand on essaie d'attaquer le texte d'une shape appartenant à un groupe
s.DrawingObject.Text = Format(Now, "hh:mm:ss")
s.AlternativeText = quoiChercher & " - " & Now
End If
End If
Next
End Function |