Bonjour, salut jmd et Xmenpl,
Une piste :
Sub supp()
Dim S As Shape, Trouve As Boolean
With Worksheets("Feuil1")
For Each S In ActiveSheet.Shapes
Trouve = False
For Each Nom In Array("boite1","boite2","boite3")
If S.Name = Nom Then Trouve = True: Exit For
Next Nom
If Trouve Then .Shapes.Range(S.Name).Delete
Next S
End With
End Sub
PS :
Cette syntaxe n'est pas correcte :
If S.Name = "boite1" or "boite2" or "boite3" Then Trouve = True
A l'inverse de celle-ci :
If S.Name = "boite1" or S.Name = "boite2" or S.Name = "boite3" Then Trouve = True