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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager