Bonjour,
Dans ma version :
msoShapeDownArrow
est égal à 36
d'où mon code pour le supprimer
.Shapes(msoShapeDownArrow = 36).Delete
Chez toi il doit s'agir d'un autre chiffre que 36.
Remplace le code entier par celui-ci pour essayer.
Private Sub CommandButton1_Click()
Dim Résultat$, NomShape As String
Résultat = Val(Replace(Me.TextBox1, ",", ".")) * Val(Replace(Me.TextBox2, ",", "."))
With ActiveSheet
'ActiveSheet.Shapes.AddShape(msoShapeDownArrow, 592.2, 121.2, 20.4, 67.2).Select
.Shapes.AddShape(msoShapeDownArrow, 560.2, 121.2, 20.4, 67.2).Select
NomShape = Selection.Name
.Range("J14") = Résultat
Unload Me
Application.Wait Now + TimeValue("0:0: 3")
.Shapes(msoShapeDownArrow = Right(NomShape, 2)).Delete
.Range("J14,N5,N7").ClearContents
End With
End Sub
si ton chiffre est inférieur ou égal à 2 caractères (ex: 36) alors ce code est bon, sinon modifie le chiffre dans le code suivant:
Right(NomShape, 2))
Un autre avantage, on peut saisir des données décimales.
Cdt
Henri