Bonjour,

Je créé en automatique des shapes, et je veux leur affecter automatiquement une macro puis les rendre invisible.
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
 
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, gauche, haut - 21, 27, 21).Select
    Selection.ShapeRange.ShapeStyle = msoShapeStylePreset38
 
    Selection.ShapeRange.TextFrame2.VerticalAnchor = msoAnchorMiddle
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "X"
     Selection.ShapeRange(1).Name = "S_" & nom
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 1). _
        ParagraphFormat
        .FirstLineIndent = 0
        .Alignment = msoAlignCenter
    End With
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 1).Font
        .Bold = msoTrue
        .NameComplexScript = "+mn-cs"
        .NameFarEast = "+mn-ea"
        .Fill.Visible = msoTrue
        .Fill.ForeColor.ObjectThemeColor = msoThemeColorBackground1
        .Fill.ForeColor.TintAndShade = 0
        .Fill.ForeColor.Brightness = 0
        .Fill.Transparency = 0
        .Fill.Solid
        .Size = 11
        .Name = "+mn-lt"
    End With
J'avoue que je suis un peu perdu, auriez vous une idée?
merci

Quand j'utilise le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ActiveSheet.Shapes("S_SM2P3A2F1").OnAction = "SM2P3A2F1"
  ActiveSheet.Shapes.Range("S_SM2P3A2F1").Visible = False
rien ne se passe
si j'utilise ce code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
ActiveSheet.Shapes.range("S_SM2P3A2F1").select
selection.OnAction = "SM2P3A2F1"
  ActiveSheet.Shapes.Range("S_SM2P3A2F1").Visible = False
il plante en me disant que les formes demandées sont verrouillées pour la sélection.