SlideShare une entreprise Scribd logo
Votre Assistante : https://www.votreassistante.net - le 08/02/2022
Article écrit par Lydia Provin du site
Votre Assistante : https://www.votreassistante.net
1
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Lors du tutoriel sur la création de liste déroulante en cascade sur Excel, vous vous êtes
probablement aperçu que lorsque vous modifiiez votre choix dans la première liste, la seconde
liste n’était pas réinitialisée automatiquement et vous pouviez obtenir ce genre d’affichage :
Bien sûr, vous pouvez appuyer sur la touche Suppr de votre clavier lorsque vous êtes sur la
deuxième cellule, mais il est quand même préférable que cela se fasse automatiquement afin
d’éviter les oublis et c’est ce que nous allons voir dans ce tutoriel.
Afficher le menu Développeur
Pour réinitialiser ou vider une liste déroulante, nous avons besoin d’utiliser le menu
Développeur d’Excel, car nous allons utiliser du code VBA (Visual Basic for Applications).
S’il n’est pas affiché, je vous invite à consulter ce tutoriel où j’explique comment le faire avec
la dernière version d’Excel à ce jour sur Windows ou sur Mac.
Réinitialiser (vider) une liste déroulante en cascade sur Excel
Pour réinitialiser une liste déroulante, rendez-vous dans le menu Développeur > Visual
Basic . Dans l’Explorateur de projets, à gauche de l’écran (s’il n’apparaît pas, faites
Ctrl + R sur Windows ou Cmd + R sur Mac), faites un clic droit > Code sur la
feuille où se trouvent vos listes en cascade : ici, il s’agit de Feuil2 (Listes).
En haut du module qui s’affiche, sélectionnez dans la liste de gauche Worksheet et dans la liste
de droite Change. Cela vous a créé une procédure inutile (Worksheet_SelectionChange) que
vous pouvez supprimer. Puis, replacez votre curseur à l’intérieur de la procédure
Worksheet_Change.
Dans cet exemple, ma première liste se trouve en A1 et la deuxième en B1, j’écris donc :
If Target.Address = "$A$1" Then
1
Range("B1").Value = ""
2
End If
3
Votre Assistante : https://www.votreassistante.net - le 08/02/2022
Article écrit par Lydia Provin du site
Votre Assistante : https://www.votreassistante.net
2
Ce code signifie que si la cellule A1 est modifiée (puisque je suis dans l’évènement du
changement sur la feuille Listes), alors la cellule B1 sera égale à rien.
Maintenant, si je réduis la fenêtre de l’éditeur VBA et que je sélectionne un autre pays, ma liste
de villes est vidée.
Je peux améliorer cette procédure en invitant l’utilisateur à sélectionner une ville. Pour cela, je
retourne dans l’éditeur VBA et, entre les guillemets vides, je saisis Sélectionnez une ville.
Ma procédure complète est donc :
Private Sub Worksheet_Change(ByVal Target As Range)
1
If Target.Address = "$A$1" Then
2
Range("B1").Value = "Sélectionnez une ville"
3
End If
4
End Sub
5
Si je retourne à ma feuille Excel, que je sélectionne une ville, puis que je sélectionne un autre
pays, j’ai bien la phrase Sélectionnez une ville. Cela fonctionne même si vous empêchez
l’utilisateur de saisir autre chose qu’un élément de la liste via l’onglet Alerte d’erreur de la
Validation des données .
Réinitialiser (vider) plusieurs listes déroulantes en cascade sur Excel
Si plusieurs de vos cellules sont en cascade, A1 à A10 par exemple, il n’est pas nécessaire de
copier-coller 10 fois la procédure que nous venons de voir.
Pour cela, dans l’éditeur VBA, à la place du code précédent, mais toujours dans le même
évènement, nous allons instancier un objet (une plage de cellules) avec Set (que nous déclarons
préalablement), puis exécuter une boucle. Ce qui donne :
Private Sub Worksheet_Change(ByVal Target As Range)
1
Dim Reference As Range
2
Set Reference = Intersect(Target, Range("A1:A10"))
3
4
If Reference Is Nothing Then Exit Sub
5
6
For Each Reference In Reference
7
Range("B" & Reference.Row).Value = "Sélectionnez une ville"
8
Next
9
Votre Assistante : https://www.votreassistante.net - le 08/02/2022
Article écrit par Lydia Provin du site
Votre Assistante : https://www.votreassistante.net
3
End Sub
10
Dans cet exemple, j’indique que le changement susceptible de produire l’évènement se fera
dans la plage de cellules A1 à A10 (ligne 3) et, si c’est en dehors de la plage (ligne 5), alors on
met fin à la procédure.
La boucle (lignes 7 à 9) permet d’indiquer Sélectionnez une ville pour chaque ligne en
colonne B dont la colonne A aurait été modifiée.
Si je modifie la cellule A3, Reference sera égale au pays que je sélectionne et Reference.row au
numéro de la ligne donc 3 : B3 sera égale à Sélectionnez une ville.
Enfin, si vous ne souhaitez pas écrire cette phrase, laissez les guillemets vides.
N’oubliez pas d’enregistrer votre fichier dans un format prenant en charge les macros pour ne
pas perdre votre procédure à la fermeture du fichier.
Vous retrouverez le fichier utilisé dans l’Espace Membres accessible aux abonnés à la
newsletter.
Je prépare une formation sur le VBA d’Excel niveau débutant et avancé. Si vous souhaitez
être tenu informé de sa sortie, inscrivez-vous à la newsletter Excel.
Tutoriel réalisé avec Excel Microsoft 365
Voir la version vidéo de cet article

Contenu connexe

Similaire à Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?

Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Votre Assistante
 
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Votre Assistante
 
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Votre Assistante
 
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Votre Assistante
 
Créer un message d’alerte à l’ouverture d’Excel
Créer un message d’alerte à l’ouverture d’ExcelCréer un message d’alerte à l’ouverture d’Excel
Créer un message d’alerte à l’ouverture d’Excel
Votre Assistante
 
Créer un formulaire personnalisé pour saisir des données sur Excel
Créer un formulaire personnalisé pour saisir des données sur ExcelCréer un formulaire personnalisé pour saisir des données sur Excel
Créer un formulaire personnalisé pour saisir des données sur Excel
Votre Assistante
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
YasmineChihab
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
Soufien Zarrouki
 
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Votre Assistante
 
mis
mismis
misISIG
 
jQuery mobile [Part2]
jQuery mobile [Part2]jQuery mobile [Part2]
jQuery mobile [Part2]
Mohamed Tahar ZWAWA
 
Chapitre 9-Les Formulaires et les contrôles.pptx
Chapitre 9-Les Formulaires et les contrôles.pptxChapitre 9-Les Formulaires et les contrôles.pptx
Chapitre 9-Les Formulaires et les contrôles.pptx
SamiBENAISSIA1
 
js---Partie1----.pdf
js---Partie1----.pdfjs---Partie1----.pdf
js---Partie1----.pdf
MiRA452885
 
Tp1 matlab
Tp1 matlab Tp1 matlab
Tp1 matlab
Wajdi Ben Helal
 
Créer des listes déroulantes en cascade avec Excel
Créer des listes déroulantes en cascade avec ExcelCréer des listes déroulantes en cascade avec Excel
Créer des listes déroulantes en cascade avec Excel
Votre Assistante
 
Visual studio
Visual studioVisual studio
Visual studioISIG
 
Algorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptxAlgorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptx
Facebokma
 
Pourquoi et comment créer un plan sur Excel ?
Pourquoi et comment créer un plan sur Excel ?Pourquoi et comment créer un plan sur Excel ?
Pourquoi et comment créer un plan sur Excel ?
Votre Assistante
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2
Christophe Malpart
 
Cours c#
Cours c#Cours c#
Cours c#
zan
 

Similaire à Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ? (20)

Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
 
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
 
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
 
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
 
Créer un message d’alerte à l’ouverture d’Excel
Créer un message d’alerte à l’ouverture d’ExcelCréer un message d’alerte à l’ouverture d’Excel
Créer un message d’alerte à l’ouverture d’Excel
 
Créer un formulaire personnalisé pour saisir des données sur Excel
Créer un formulaire personnalisé pour saisir des données sur ExcelCréer un formulaire personnalisé pour saisir des données sur Excel
Créer un formulaire personnalisé pour saisir des données sur Excel
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
 
mis
mismis
mis
 
jQuery mobile [Part2]
jQuery mobile [Part2]jQuery mobile [Part2]
jQuery mobile [Part2]
 
Chapitre 9-Les Formulaires et les contrôles.pptx
Chapitre 9-Les Formulaires et les contrôles.pptxChapitre 9-Les Formulaires et les contrôles.pptx
Chapitre 9-Les Formulaires et les contrôles.pptx
 
js---Partie1----.pdf
js---Partie1----.pdfjs---Partie1----.pdf
js---Partie1----.pdf
 
Tp1 matlab
Tp1 matlab Tp1 matlab
Tp1 matlab
 
Créer des listes déroulantes en cascade avec Excel
Créer des listes déroulantes en cascade avec ExcelCréer des listes déroulantes en cascade avec Excel
Créer des listes déroulantes en cascade avec Excel
 
Visual studio
Visual studioVisual studio
Visual studio
 
Algorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptxAlgorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptx
 
Pourquoi et comment créer un plan sur Excel ?
Pourquoi et comment créer un plan sur Excel ?Pourquoi et comment créer un plan sur Excel ?
Pourquoi et comment créer un plan sur Excel ?
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2
 
Cours c#
Cours c#Cours c#
Cours c#
 

Plus de Votre Assistante

Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Votre Assistante
 
Comment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfComment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdf
Votre Assistante
 
Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?
Votre Assistante
 
Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?
Votre Assistante
 
Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?
Votre Assistante
 
Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?
Votre Assistante
 
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Votre Assistante
 
Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?
Votre Assistante
 
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Votre Assistante
 
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Votre Assistante
 
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Votre Assistante
 
Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?
Votre Assistante
 
Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?
Votre Assistante
 
Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?
Votre Assistante
 
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Votre Assistante
 
Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?
Votre Assistante
 
Créer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec IllustratorCréer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec Illustrator
Votre Assistante
 
Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)
Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)
Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)
Votre Assistante
 
4 astuces avancées pour PowerPoint et une astuce Bonus
4 astuces avancées pour PowerPoint et une astuce Bonus4 astuces avancées pour PowerPoint et une astuce Bonus
4 astuces avancées pour PowerPoint et une astuce Bonus
Votre Assistante
 
Comment convertir une image en noir et blanc sur Illustrator ?
Comment convertir une image en noir et blanc sur Illustrator ?Comment convertir une image en noir et blanc sur Illustrator ?
Comment convertir une image en noir et blanc sur Illustrator ?
Votre Assistante
 

Plus de Votre Assistante (20)

Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?
 
Comment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfComment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdf
 
Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?
 
Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?
 
Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?
 
Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?
 
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
 
Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?
 
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
 
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
 
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
 
Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?
 
Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?
 
Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?
 
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
 
Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?
 
Créer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec IllustratorCréer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec Illustrator
 
Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)
Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)
Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)
 
4 astuces avancées pour PowerPoint et une astuce Bonus
4 astuces avancées pour PowerPoint et une astuce Bonus4 astuces avancées pour PowerPoint et une astuce Bonus
4 astuces avancées pour PowerPoint et une astuce Bonus
 
Comment convertir une image en noir et blanc sur Illustrator ?
Comment convertir une image en noir et blanc sur Illustrator ?Comment convertir une image en noir et blanc sur Illustrator ?
Comment convertir une image en noir et blanc sur Illustrator ?
 

Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?

  • 1. Votre Assistante : https://www.votreassistante.net - le 08/02/2022 Article écrit par Lydia Provin du site Votre Assistante : https://www.votreassistante.net 1 Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ? Lors du tutoriel sur la création de liste déroulante en cascade sur Excel, vous vous êtes probablement aperçu que lorsque vous modifiiez votre choix dans la première liste, la seconde liste n’était pas réinitialisée automatiquement et vous pouviez obtenir ce genre d’affichage : Bien sûr, vous pouvez appuyer sur la touche Suppr de votre clavier lorsque vous êtes sur la deuxième cellule, mais il est quand même préférable que cela se fasse automatiquement afin d’éviter les oublis et c’est ce que nous allons voir dans ce tutoriel. Afficher le menu Développeur Pour réinitialiser ou vider une liste déroulante, nous avons besoin d’utiliser le menu Développeur d’Excel, car nous allons utiliser du code VBA (Visual Basic for Applications). S’il n’est pas affiché, je vous invite à consulter ce tutoriel où j’explique comment le faire avec la dernière version d’Excel à ce jour sur Windows ou sur Mac. Réinitialiser (vider) une liste déroulante en cascade sur Excel Pour réinitialiser une liste déroulante, rendez-vous dans le menu Développeur > Visual Basic . Dans l’Explorateur de projets, à gauche de l’écran (s’il n’apparaît pas, faites Ctrl + R sur Windows ou Cmd + R sur Mac), faites un clic droit > Code sur la feuille où se trouvent vos listes en cascade : ici, il s’agit de Feuil2 (Listes). En haut du module qui s’affiche, sélectionnez dans la liste de gauche Worksheet et dans la liste de droite Change. Cela vous a créé une procédure inutile (Worksheet_SelectionChange) que vous pouvez supprimer. Puis, replacez votre curseur à l’intérieur de la procédure Worksheet_Change. Dans cet exemple, ma première liste se trouve en A1 et la deuxième en B1, j’écris donc : If Target.Address = "$A$1" Then 1 Range("B1").Value = "" 2 End If 3
  • 2. Votre Assistante : https://www.votreassistante.net - le 08/02/2022 Article écrit par Lydia Provin du site Votre Assistante : https://www.votreassistante.net 2 Ce code signifie que si la cellule A1 est modifiée (puisque je suis dans l’évènement du changement sur la feuille Listes), alors la cellule B1 sera égale à rien. Maintenant, si je réduis la fenêtre de l’éditeur VBA et que je sélectionne un autre pays, ma liste de villes est vidée. Je peux améliorer cette procédure en invitant l’utilisateur à sélectionner une ville. Pour cela, je retourne dans l’éditeur VBA et, entre les guillemets vides, je saisis Sélectionnez une ville. Ma procédure complète est donc : Private Sub Worksheet_Change(ByVal Target As Range) 1 If Target.Address = "$A$1" Then 2 Range("B1").Value = "Sélectionnez une ville" 3 End If 4 End Sub 5 Si je retourne à ma feuille Excel, que je sélectionne une ville, puis que je sélectionne un autre pays, j’ai bien la phrase Sélectionnez une ville. Cela fonctionne même si vous empêchez l’utilisateur de saisir autre chose qu’un élément de la liste via l’onglet Alerte d’erreur de la Validation des données . Réinitialiser (vider) plusieurs listes déroulantes en cascade sur Excel Si plusieurs de vos cellules sont en cascade, A1 à A10 par exemple, il n’est pas nécessaire de copier-coller 10 fois la procédure que nous venons de voir. Pour cela, dans l’éditeur VBA, à la place du code précédent, mais toujours dans le même évènement, nous allons instancier un objet (une plage de cellules) avec Set (que nous déclarons préalablement), puis exécuter une boucle. Ce qui donne : Private Sub Worksheet_Change(ByVal Target As Range) 1 Dim Reference As Range 2 Set Reference = Intersect(Target, Range("A1:A10")) 3 4 If Reference Is Nothing Then Exit Sub 5 6 For Each Reference In Reference 7 Range("B" & Reference.Row).Value = "Sélectionnez une ville" 8 Next 9
  • 3. Votre Assistante : https://www.votreassistante.net - le 08/02/2022 Article écrit par Lydia Provin du site Votre Assistante : https://www.votreassistante.net 3 End Sub 10 Dans cet exemple, j’indique que le changement susceptible de produire l’évènement se fera dans la plage de cellules A1 à A10 (ligne 3) et, si c’est en dehors de la plage (ligne 5), alors on met fin à la procédure. La boucle (lignes 7 à 9) permet d’indiquer Sélectionnez une ville pour chaque ligne en colonne B dont la colonne A aurait été modifiée. Si je modifie la cellule A3, Reference sera égale au pays que je sélectionne et Reference.row au numéro de la ligne donc 3 : B3 sera égale à Sélectionnez une ville. Enfin, si vous ne souhaitez pas écrire cette phrase, laissez les guillemets vides. N’oubliez pas d’enregistrer votre fichier dans un format prenant en charge les macros pour ne pas perdre votre procédure à la fermeture du fichier. Vous retrouverez le fichier utilisé dans l’Espace Membres accessible aux abonnés à la newsletter. Je prépare une formation sur le VBA d’Excel niveau débutant et avancé. Si vous souhaitez être tenu informé de sa sortie, inscrivez-vous à la newsletter Excel. Tutoriel réalisé avec Excel Microsoft 365 Voir la version vidéo de cet article