Bonjour,
Je cherche un moyen de supprimer tous les boutons de commandes d'une feuille !
Quelqu'un à une idée ?
Merci
Bonjour,
Je cherche un moyen de supprimer tous les boutons de commandes d'une feuille !
Quelqu'un à une idée ?
Merci
bonjour,
tu peux regarder du code ressemblant à ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 dim temp as Control for each temp in ActiveSheet.Controls if instr(1,temp.name,"button")>1 then temp.delete end if next
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Pour des boutons de formulaires, j'utilise le code suivant:
Mais il faut que l'autofilter soit désactivé, et les options de list peuvent aussi interférer;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveSheet.Shapes.SelectAll Selection.Delete
Bonsoir,
La collection Controls existe pour un UserForm, pas pour un objet Worksheet !
Cordialement,
Michel Gaboly
Développeur Excel et VBA
Pas de question technique par MP, je n’y répondrai pas, utilisez le forum - Merci
Pensez à ajouter le tag
Effectivement...
Mais Michel, tu aurais pu leur dire qu'il fallait écrire :
A adapter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub Test() Dim oControle As Shape For Each oControle In Feuil1.Shapes If oControle.Type = msoFormControl Then If oControle.FormControlType = xlCommandButton Then End If End If Next oControle End Sub
Merci Pierre Fauconnier.
Merci à JpCheck également d'avoir proposer une solution exactement identique à un code que j'avais envoyé... et qui est faux... mais qui avait l'air malin : One mind.
Bonsoir,
Je n’aurais pas pu, car je ne suis pas d’accord
Les boutons de commande insérés à partir de la barre d’outils Formulaires (ou contrôles de formulaires si Excel 2007), ont bien pour type msoFormControl (constante égale à 8), mais ceux qui proviennent de la barre d’outils Contrôles (contrôles ActiveX si Excel 2007) ont pour type msoOLEControlObject (constante égale à 12)
En outre, onpeut très bien utiliser un objet graphque quelconque et lui affecter une macro.
Les boutons que j’utilise en général sont de type 1 et sont comme ceux-ci :
En général, quand je suis l’auteur d’un développement, les boutons sont regroupés sur une page d’accueil qui ne comporte aucun autre objet Shape, et si j’ai besoin de les effacer, je procède comme cela :
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub EffaceBoutons() For Each s In FAccueil.Shapes s.Delete Next End Sub
Michel Gaboly
Développeur Excel et VBA
Pas de question technique par MP, je n’y répondrai pas, utilisez le forum - Merci
Pensez à ajouter le tag
bonsoir
si les boutons sont issus de la barre d'outils controles:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim Obj As OLEObject For Each Obj In ActiveSheet.OLEObjects If TypeOf Obj.Object Is MSForms.CommandButton Then _ Obj.Delete Next Obj
bon week end
michel
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager