Tutoriel réalisé avec Excel 2013

Pour rendre la saisie de vos données dans un classeur Excel plus rapide, vous pouvez créer une liste déroulante semi-automatique qui restreint votre liste déroulante classique.

Pour ce tuto, nous allons utiliser une feuille de classeur Excel que j’ai préparée et que vous trouverez dans l’Espace Membres.

Ouvrez le classeur et allez sur l’onglet Villes où vous trouverez une liste de villes européennes. C’est avec cette dernière que nous souhaitons créer notre liste déroulante. Notez que votre liste doit être triée par ordre alphabétique sans quoi votre liste ne fonctionnera pas correctement et que les noms que j’ai choisis dans ce tutoriel peuvent être modifiés, mais n’oubliez pas de mettre vos propres noms dans les formules.

Placez-vous en A1, qui est la première cellule de la liste, et, dans la Zone Nom, remplacez A1 par p_ville (comme première ville) et appuyez sur Entrée. Cette action peut aussi être exécutée avec le Gestionnaire de noms Bouton Gestionnaire de noms  de l’onglet Formules, mais c’est plus rapide de cette manière.

Sélectionnez ensuite la colonne A entièrement, ce qui correspond à la colonne de la liste, en cliquant sur l’en-tête de colonne A et nommez cette colonne l_ville (comme liste de villes).

Nous avons maintenant besoin d’une formule nommée. Allez dans Définir un nom Bouton Définir un nom de l’onglet Formules. Choisissez comme nom f_ville (comme formule ville) et, dans Fait référence à, saisissez :

=DECALER(p_ville;0;0;NBVAL(l_ville);1)

La formule DECALER se décompose de cette manière :

DECALER(réf;lignes;colonnes;hauteur;largeur).

  • Réf correspond à la référence par rapport à laquelle le décalage doit être effectué ;
  • Lignes correspond au nombre de lignes vers le haut ou le bas dont la cellule supérieure gauche de la référence renvoyée doit être décalée ;
  • Colonnes correspond au nombre de colonnes vers la droite ou la gauche dont la cellule supérieure gauche de la référence renvoyée doit être décalée ;
  • Hauteur est la hauteur, en nombre de lignes, attendue pour le résultat. Cette hauteur est calculée automatiquement grâce à la formule NBVAL qui compte le nombre de cellules non vides ;
  • Largeur est la largeur, en nombre de colonnes, attendue pour le résultat.

Fenêtre Nouveau nom pour la formule décaler

Sélectionnez ensuite les cellules I2 à I21 de l’onglet Clients et allez dans l’onglet Données > Validation des données Bouton Validation des données. Choisissez, dans l’onglet Options de la boîte de dialogue, Autoriser Liste et gardez cochées les cases Ignorer si vide et Liste déroulante dans la cellule.

Dans la source, indiquez la formule : =SI(I2<>"";DECALER(f_ville;EQUIV(I2&"*";f_ville;0)-1;;NB.SI(f_ville;I2&"*");1);f_ville)

Fenêtre Validation des données pour la formule de liste déroulante semi-automatique

Pour terminer, dans l’onglet Alerte d’erreur, décochez la case Quand des données non valides sont tapées et cliquez sur Ok.

Fenêtre Validation des données sans alerte d'erreur

Désormais, vous pourrez vous placer sur votre liste déroulante, saisir une ou plusieurs lettres du début du nom de la ville recherchée et, en cliquant sur la flèche du menu déroulant, seules les villes commençant par cette ou ces lettres apparaîtront ce qui restreindra votre choix.

Pour faire réapparaître l’ensemble des villes, appuyez sur la touche Suppr.

Exemple de liste déroulante Excel

Exemple de liste déroulante Excel semi-automatique

 

Note : une autre façon de “filtrer” les listes déroulantes est la création de liste en cascade dans des cellules ou dans un formulaire Excel créé en VBA.

 

Téléchargez “Créer une liste déroulante Excel semi-automatique” au format PDF

Je vous propose un fichier annexe dans l’Espace Membres contenant le fichier utilisé dans ce tutoriel.

Et si vous souhaitez passer au niveau supérieur avec Excel,
cliquez sur ce lien pour découvrir les 7 étapes pour créer des tableaux croisés dynamiques
comme un pro