Suppression bouton de commande ActiveX ?

Bonjour le forum,

Pour supprimer tous les boutons de contôle formulaire j'utilise la macro ci-dessous qui fonctionne très bien. Ma question est comment je peux faire la même chose pour les boutons de commande (ActiveX) ? Si quelqu'un a une réponse je suis preneur. Merci.

Sub delbutton()

ActiveSheet.Buttons.Delete

End Sub

Bonjour,

Ajuster le nom au besoin ...

    ActiveSheet.Shapes.Range(Array("CommandButton1")).Select
    Selection.Delete

ric

Cette macro supprime tous les objets de la feuille :

Sub test()
ActiveSheet.DrawingObjects.Delete
End Sub

A+

Salut galopin01

J'avais essayé cette ligne de commande mais elle ne marche pas.

J'ai le message :

erreur d'exécution '438'

Propriété ou méthode non gérée par cet objet

Cordialement

Bonjour,

À tester ...

Sub delLesboutons()
Dim Sh As Shape

For Each Sh In Shapes
   Sh.Select
   Selection.Delete
Next
End Sub

ric

Bonjour tout le monde,

J'avais ça en réserve:

Sub SupprimeBoutonActiveX()

    Dim Obj As OLEObject

     For Each Obj In ActiveSheet.OLEObjects
       If TypeOf Obj.Object Is MSForms.CommandButton Then _
         Obj.Delete
       Next Obj

End Sub
70classeur1.xlsm (21.46 Ko)

Cordialement,

Merci à vous.

La solution de xorsankukai associé à ma macro de départ supprime tous les boutons (commande ou formulaire).

Je clôture le sujet et merci encore.

J'avais essayé cette ligne de commande mais elle ne marche pas.

J'ai le message :

erreur d'exécution '438'

Propriété ou méthode non gérée par cet objet

C'est curieux car je l'utilise couramment depuis des années pour "faire le ménage" dans des imports inconnus et ça ne m'a jamais posé problèmes jusqu'à Excel 2016 inclus...

La proposition de xorsankukai plus restrictive devrait te convenir.

A+

Tu sais les lois de l'informatique sont impénétrables 😂😂😂😂

Merci pour ton aide quand même 😊

C'est quand même bizarre car c'est des trucs inscrits dans les gênes d'Excel depuis qu'il était tout petit : Il a pris ça dès le biberon, et je ne vois vraiment pas comment il peut renier à ce point ses origines !

A=

Bonsoir à tous ! Salut Galopin !

DrawingObjects est l'ancienne collection remplacée par Shapes à partir de VBA5 (Excel 97) et les ActiveX ont été introduits en même temps avec Microsoft.Forms. Je n'ai pas eu l'occasion de tester ce type de manipulations, mais il est fort possible qu'ils n'aient pas été intégrés à l'ancienne collection et qu'il faille passer par OLEObjects...

Bonne soirée à tous.

Salut le forum,

Je reviens sur le sujet suite au commentaires de MFerrand et la proposition de macro de galopin01 pour finalement trouver une solution qui fonction impec en utilisant la commande "SHAPES". Ci-dessous le code pour ceux qui seraient intéressés par la suppression de toutes les boutons ou objet d'une feuille :

Sub del_all_Lesboutons()

Dim Lesboutons As Worksheet

Set Lesboutons = Worksheets(2) 'Onglet qui correspond à la feuille dans laquelle les boutons sont à supprimer
Lesboutons.Shapes.SelectAll
Selection.Delete

End Sub

Cordialement.

En effet, mais c'est pas très sélectif ! Tout y passe !

C'est sur mais c'était le but recherché

Je voulais une feuille vierge de tout objet.

Dans ce cas ! ...

En la circonstance, note que c'est le seul exemple que je connaisse et que je cite à l'occasion, d'obligation de passer par une sélection pour accomplir une action ! L'action de sélectionner utilise une méthode spécifique certes mais c'est bien une sélection avec utilisation à la suite de l'objet Selection...

Habituellement on l'affecte à une variable de type ShapeRange pour l'utiliser plus confortablement, mais pour tout supprimer, pas besoin bien sûr de cette étape supplémentaire.

Bonne soirée à toi.

Rechercher des sujets similaires à "suppression bouton commande activex"