Note: The other languages of the website are Google-translated. Back to English
English English

Comment effacer la cellule de liste déroulante dépendante après avoir sélectionné modifié dans Excel?

Pour une liste déroulante dépendante, lorsque la valeur de la liste déroulante parent est modifiée, la valeur sélectionnée dans la seconde sera invalide. Vous devez supprimer manuellement la valeur invalide de la deuxième liste déroulante après avoir sélectionné modifié dans la première. Dans cet article, je vais vous montrer une méthode pour effacer automatiquement la cellule de la liste déroulante dépendante après avoir sélectionné modifié dans Excel.

Effacer la cellule de la liste déroulante dépendante après avoir sélectionné modifié avec le code VBA


Effacer la cellule de la liste déroulante dépendante après avoir sélectionné modifié avec le code VBA


Le code VBA suivant vous aide à effacer la liste déroulante dépendante après avoir sélectionné modifié dans Excel.

1. Faites un clic droit sur l'onglet de la feuille contenant la liste déroulante dépendante que vous effacerez automatiquement, puis sélectionnez Voir le code dans le menu contextuel.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, copiez ci-dessous le code VBA dans la fenêtre.

Code VBA: effacer la cellule de la liste déroulante dépendante après la sélection modifiée

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 2018/06/04
    Application.EnableEvents = False
    If Target.Column = 5 And Target.Validation.Type = 3 Then
        Target.Offset(0, 1).Value = ""
    End If
    Application.EnableEvents = True
End Sub

Notes: Dans le code, le numéro 5 est le numéro de colonne contient la liste déroulante parent. Dans ce cas, la liste déroulante de mes parents se trouve dans la colonne E.

3. appuie sur le autre + Q touches pour fermer le Microsoft Visual Basic pour applications fenêtre.

À partir de maintenant, lorsque les modifications apportées à la liste déroulante parente, le contenu de la deuxième liste déroulante sera automatiquement effacé. Voir la capture d'écran:


Articles Liés:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Commentaires (9)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
سلام وقت شما بخیر
ما فایل اکسلی داریم که خروجیش از طریق نرم افزار همکاران سیستم هست یعنی فایل اکسل ما آنلاین به base de données نرم افزار همکاران متصله (این مهم نیست برای اطلاع عرض کردم) توی این فایل فیلترهایی وجود داره که هر فیلتر یک لیست کشویی داره مشکل ما اینه که وقتی میخواهیم هر کدوم از فیلتر ها یکی از موارد لیست کشویی رو انتخاب کنیم با انتخاب لیست, لیست کشویی زود می پره یعنی بسته میشه زود و نمیشه چیزی رو انتخاب کرد, اینم بگم خدمتتون که آفیس رو حذف و نصب هم کردم بازم جواب نداد یعنی یه مدت خیلی کوتاهی جواب مید rue
(آفیسمون 2016 هست)یعنی عملا اونها هم نتونستن مشکل رو پیدا کنن.
لطفا اگه راهی هست ممنون میشم راهنماییم کنید.
Merci
Ce commentaire a été minimisé par le modérateur sur le site
Pour poster en tant qu'invité, votre commentaire est inédit.
Ce commentaire a été minimisé par le modérateur sur le site
Fonctionne parfaitement
Ce commentaire a été minimisé par le modérateur sur le site
Ça ne marche pas.
Ce commentaire a été minimisé par le modérateur sur le site
Salut Marborek,
Quelle version d'Excel utilisez-vous ?
Ce commentaire a été minimisé par le modérateur sur le site
J'essaie de faire en sorte que cela s'applique à deux listes déroulantes dépendantes et je n'arrive pas à obtenir le bon code. J'ai essayé de copier le code et de mettre à jour le décalage et d'utiliser la fonction and et d'obtenir une erreur à chaque fois. Aucun conseil? Je veux que les deux colonnes à côté du menu déroulant soient claires si elles sont modifiées au lieu d'une seule.
H     em
Ce commentaire a été minimisé par le modérateur sur le site
Salut, c'est comme ça que je l'ai fait fonctionner pour plusieurs listes déroulantes, la fonction "Et" n'a pas fonctionné pour moi non plus, mais cela semble le cas. Essentiellement, vous avez besoin d'une instruction "If" différente pour chaque liste déroulante que vous souhaitez vider lorsque vous modifiez la valeur choisie dans le premier menu déroulant. Il existe peut-être un moyen plus efficace de le faire, mais cela a fonctionné pour moi!


Private Sub Worksheet_Change (Cible ByVal en tant que plage)
'Mettre à jour par Extendoffice 2018/06/04
Application.EnableEvents = False
Si Target.Column = 2 et Target.Validation.Type = 3 Alors
Cible. Décalage(0, 1).Valeur = ""
Si fin
Si Target.Column = 2 et Target.Validation.Type = 3 Alors
Cible. Décalage(0, 2).Valeur = ""
Si fin
Si Target.Column = 2 et Target.Validation.Type = 3 Alors
Cible. Décalage(0, 3).Valeur = ""
Si fin
Si Target.Column = 2 et Target.Validation.Type = 3 Alors
Cible. Décalage(0, 4).Valeur = ""
Si fin
Application.EnableEvents = True
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
La suppression de plusieurs lignes génère une erreur. Aucune suggestion ?
Ce commentaire a été minimisé par le modérateur sur le site
J'obtenais des erreurs avec la suppression de plusieurs lignes ainsi que des lignes supprimées qui n'auraient pas dû être effacées. Vous trouverez ci-dessous la solution qui a fonctionné pour moi.

Private Sub Worksheet_Change (Cible ByVal en tant que plage)
'Mise à jour par D 2022/08/23
On Error Resume Next
Application.EnableEvents = False
Si Target.Column = 9 Then
Si Target.Validation.Type = 3 Alors
Application.EnableEvents = False
Cible. Décalage(0, 4).Valeur = ""
Si fin
Si fin

Application.EnableEvents = False
Si Target.Column = 9 Then
Si Target.Validation.Type = 3 Alors
Application.EnableEvents = False
Cible. Décalage(0, 5).Valeur = ""
Si fin
Si fin

Application.EnableEvents = False
Si Target.Column = 13 Then
Si Target.Validation.Type = 3 Alors
Application.EnableEvents = False
Cible. Décalage(0, 1).Valeur = ""
Si fin
Si fin

exitHandler :
Application.EnableEvents = True
Exit Sub

End Sub
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés