Option Explicit
Sub test()
Dim s As Shape, t() As Variant, i As Byte
For Each s In Feuil1.Shapes(1).GroupItems
ReDim Preserve t(0 To i)
t(i) = s.Name: i = i + 1
Next s
With Feuil1
.Shapes(1).Ungroup
.Shapes("TextBox 1").TextFrame.Characters.Text = "montexte"
.Shapes.Range(t).Group
End With
End Sub