Comment effacer le contenu de la zone de liste déroulante avec le code VBA dans Excel?
Normalement, vous pouvez effacer le contenu d'une zone de liste déroulante en effaçant les données de la liste Plage d'entrée. Mais que diriez-vous d'effacer le contenu de toutes les zones de liste déroulante dans une feuille de calcul Excel? Cet article prépare deux codes VBA pour vous aider non seulement à effacer le contenu d'une zone de liste déroulante, mais également à effacer le contenu de toutes les zones de liste déroulante en même temps dans une feuille de calcul Excel.
Effacez facilement le contenu de la boîte combo par code VBA
Effacez facilement le contenu de la boîte combo par code VBA
Les deux codes VBA ci-dessous peuvent vous aider à effacer le contenu d'une zone de liste déroulante ou de toutes les zones de liste déroulante dans la feuille de calcul active. Veuillez faire comme suit.
1. Dans la feuille de calcul, vous devez effacer le contenu d'une zone de liste déroulante, appuyez sur le bouton autre + F11 en même temps pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Copiez ensuite le code VBA ci-dessous dans la fenêtre Code.
VBA 1: effacer le contenu d'une zone de liste déroulante dans la feuille de calcul
Sub ClearAComboBox()
ActiveSheet.Shapes.Range(Array("Drop Down 2")).Select
With Selection
.ListFillRange = ""
End With
End Sub
Notes: Dans le code, «Drop Down 2» est le nom de la zone de liste déroulante dont vous effacerez le contenu. Veuillez le changer pour le vôtre.
VBA 2: effacer le contenu de toutes les zones de liste déroulante dans la feuille de calcul active
Sub ClearComboBox()
Dim xOle As OLEObject
Dim xDrop As DropDown
Application.ScreenUpdating = False
For Each xOle In ActiveSheet.OLEObjects
If TypeName(xOle.Object) = "ComboBox" Then
xOle.ListFillRange = ""
End If
Next
For Each xDrop In ActiveSheet.DropDowns
xDrop.ListFillRange = ""
Next
Application.ScreenUpdating = True
End Sub
3. appuie sur le F5 ou cliquez sur le bouton Exécuter pour exécuter le code.
Ensuite, vous pouvez voir que le contenu est effacé dans la zone de liste déroulante spécifiée ou dans toutes les zones de liste déroulante de la feuille de calcul active, comme illustré ci-dessous:
Notes: les codes VBA peuvent être appliqués à la fois à la zone de liste déroulante (contrôle de formulaire) et à la zone de liste déroulante (contrôle ActiveX).
Articles Liés:
- Comment effacer le contenu et la mise en forme en même temps dans les cellules dans Excel?
- Comment effacer le contenu de la plage nommée dans Excel?
- Comment effacer les valeurs restreintes dans les cellules dans Excel?
- Comment effacer le contenu de la cellule spécifiée si la valeur d'une autre cellule change dans Excel ?
- Comment effacer le contenu de cellule spécifié lors de l'ouverture et de la sortie dans le classeur Excel?
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!