Effacer un menu déroulant en VB

  • Initiateur de la discussion Initiateur de la discussion Fox-core 2001
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

Fox-core 2001

Guest
Salut le Forum
Je ne parviens pas à selectionné un menu déroulant à partir de mon code VB, afin de le supprimer.
Merci @ tous de votre aide.
 
Salut Fox, le Forum

Tout dépend de ce que tu appelles "Un Menu Déroulant" ?

*A) = Une Liste de Validation
*B) = Une Zone de Liste Modifiable de la barre d'outils "Formulaire"
*C) = Une Zone de Liste Modifiable de la barre d'outils "Contrôles"
*D) = Autre Chose ?

Pour A)
Sheets("TaFeuille").Range("A1").Validation.Delete

Pour B)
Sheets("TaFeuille").Shapes("Drop Down 1").Delete

Pour C)
Sheets("TaFeuille").Shapes("ComboBox1").Delete

Pour une collection sur ces objets faire une recherche dans l'Aide VBA sur Validation ou sur Shape (pour l'ActiveX ComboBox voir aussi à "OLEObjects")

Bonne Journée
@+Thierry
 
Merci beaucoup Thierry pour ta réponse très complète. En fait j'utilise bien une zone de liste modifiable de la barre d'outils "Formulaire". A quoi corresponde Drop Down ? Si C le nom du menu C un soucis opur moi car mon menu a un nom qui change. En fait C la que réside vraiment la difficulté, il faudrait que je puisse atteindre un menu au sein d'un tableau, C pas évident.
Merci énormément de ton aide.
 
Re Fox, le Forum

Aie ! La barre d'outil "Formulaire", je ne suis plus du tout copain avec !! Depuis que j'ai rencontré la barre d'Outils "Contrôle", je lui suis totalement infidèle !!!

En fait je ne vois pas vraiment beaucoup de moyens de supprimer sélectivement ce genre de "Drop Down List " (ancien nom des ComboBox) que par une boucle de ce style :

Sub SubShapesDelete()
Dim WS As Worksheet
Dim SH As Object
Dim i As Byte

Set WS = Sheets("TaFeuille")

For Each SH In WS.Shapes
If Left(SH.Name, 4) = "Drop" Then
SH.Delete
End If
Next

End Sub

Mais attention Toutes les autres listes du même style seront supprimées aussi ... Donc çà peut convenir dans le cas où tu n'en as qu'une.

Maintenant tu parles de "Menu" qui a un nom qui change ??? Tu entends par là que "Menu" = Zone de Liste Modifiable ?

Là je bosse sur des PC en version US de Win et d'Office, je ne peux être formel sur le nom donné en Français à ce genre de "Zone de Liste Modifiable"... En américain çà donne "Drop Down" suivi d'un numéro qui s'incrément à chaque nouvelle création... Pour savoir en français ce que çà donne, avec l'enregistreur de macro qui tourne, dessine une de ces Zones de Liste Modifiable et deplace là, puis supprime là, regarde le code, tu auras le nom...

Voilà c'est tout ce que je peux faire pour toi pour l'instant...

Bon Appétit
@+Thierry
 
C génial tout se que tu me raconte la, car en fait je viens de trouver le moyen d'incrémenter le nom que je donne à mes menus (zones de listes modifiables) et donc mainteant il ne me reste plus qu'à coller la référence quelques part afin de pouvoir y accéder qd je veux. C vraiment sympa de ta part de m'avoir consacré un peu de temps, je t'en remercie beaucoup.
@ bientôt j'espère !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
147
Réponses
8
Affichages
136
Réponses
0
Affichages
113
Réponses
7
Affichages
457
Réponses
11
Affichages
744
Retour