Question sur les Listes déroulantes et les bonnes procédures à suivre?

chrbar

XLDnaute Nouveau
Bonjour,

Je suis un débutant avec Excel mais je veux apprendre!

Je voudrai monter un fichier pour inventorier des équipements prédéfinis.
J’ai cherché des infos sur le Web, ce qui m’a donné la chance de tomber sur votre forum :)
Je suis arrivé à un certain résultat en bidouillant mais je ne suis vraiment pas sûr d’avoir suivi la bonne procédure?

Le résultat que je voudrai obtenir, est une feuille sur laquelle chaque colonne représente un élément de l’inventaire (numéro de série, local, date…), et que pour chaque colonne il y ait un ensemble de réponses prédéfinies que l’utilisateur peut choisir via une liste déroulante dans chaque cellule. De plus je voudrai que l’ensemble soit sous la forme d’un tableau permettant de filtrer l’affichage des données.

J’ai construit le fichier " test1.xlsx" dont je vous détaille la procédure ci-dessous.
Pourriez-vous me dire ce que vous en pensez et corriger ma démarche là où s’est nécessaire?
Merci :)

Je sélectionne la colonne "A" de la feuille "données2".
Je clique sur "Définir un nom" dans le menu "Formules".
Je donne le nom "Chiffres2", je laisse la zone à "Classeur" (puis je clique sur "OK" pour créer le nom).

J'ai sélectionné toute la colonne "A" car je voudrai pouvoir faciliter l'ajout automatique de nouvelles données dans cette liste par la suite, en permettant simplement aux utilisateurs d'en inscrire de nouvelles (ou de modifier celles présentes) dans la colonne "A".
Est-ce la bonne procédure?

De même, j'ai laissé une cellule vide en haut de la colonne pour que la liste déroulante commence par son début (en haut) par la suite.
Est-ce correct?

Après, je sélectionne la colonne "A" de la feuille "tableau2".
Je clique sur "Validation des données" dans le menu "Données".
Dans l'onglet "Options", je sélectionne "Liste" sous "Autoriser" (en laissant les autres options cochées), puis j'écris "Chiffres2" sous "Source" (et je clique sur "OK").

Cela me permet d'obtenir une liste déroulante pour toutes les cellules de la colonne afin de pouvoir les compléter par la suite.

Pour mon exemple, je reproduis les mêmes étapes pour les colonnes B et C.

Puis je sélectionne la cellule D1 et je l'étire (je ne sais pas si c'est le bon terme!) sur les cellules C1, B1 et A1, pour effacer les valeurs obligatoires imposées par les listes déroulantes, cela me permet de donner le titre que je veux, à la colonne, à la première cellule dans laquelle va s'insérer le filtrage que je vais ajouter dans l'étape suivante.
J'étais arrivé au même résultat via les feuilles tableau/données, en insérant une ligne en haut et sans être obligé de passer par l'étirement de la cellule D1, mais je ne suis pas arrivé à reproduire cette démarche!

Après je sélectionne ensemble les colonnes "A,B,C" de la feuille "données2", et je sélectionne un choix de tableau dans "Mettre sous forme de tableau" du menu "Accueil".
Je renomme la première cellule de chaque colonne pour donner un titre à la colonne: Chiffres 2, Lettres 2 et Romains 2.
Puis je supprime la ligne 2, celle dont j’avais enlevé les listes déroulantes, afin qu’elles ne soient pas présentes dans les cellules de filtrage.

Maintenant la grande question: est-ce la bonne méthode pour arriver à un tel résultat???

Merci de votre aide :)
Chris
 

Pièces jointes

  • test1.xlsx
    12.8 KB · Affichages: 35
  • test1.xlsx
    12.8 KB · Affichages: 39
  • test1.xlsx
    12.8 KB · Affichages: 44

Calvus

XLDnaute Barbatruc
Re : Question sur les Listes déroulantes et les bonnes procédures à suivre?

Bonsoir chrbar et bienvenue sur le forum,

Je vais essayer de répondre à tes questions point par point, même si je ne suis pas sr de toujours comprendre ce que tu souhaites.

Il y a plusieurs façons de faire, mais ça, ça viendra avec l'expérience. Des chemins plus faciles que d'autres également.
Dans tous les cas, le mieux est d'essayer d'aller au plus simple. Les complications viendront bien toutes seules !


J'ai sélectionné toute la colonne "A" car je voudrai pouvoir faciliter l'ajout automatique de nouvelles données dans cette liste par la suite, en permettant simplement aux utilisateurs d'en inscrire de nouvelles (ou de modifier celles présentes) dans la colonne "A".
Est-ce la bonne procédure?

C'est assez bien pensé, mais il y mieux. Pas forcément plus simple dans ce cas, mais au moins c'est plus efficace.
Il faut utiliser la fonction Decaler, combinée à la fonction Nbval.

Code:
=DECALER(données2!$A$1;;;NBVAL(données2!$A$:A))

Nval compte le nombre de valeurs dans la colonne A
Decaler est plus complexe à comprendre, je ne vais pas tenter de te l'expliquer, mais retiens que l'on va s'en servir pour ajuster le nombre de valeurs (la hauteur) pour notre nom défini.
C'est donc la formule insérée dans le nom défini.

De même, j'ai laissé une cellule vide en haut de la colonne pour que la liste déroulante commence par son début (en haut) par la suite.
Est-ce correct?

Pourquoi faire ?

Puis je sélectionne la cellule D1 et je l'étire (je ne sais pas si c'est le bon terme!) sur les cellules C1, B1 et A1, pour effacer les valeurs obligatoires imposées par les listes déroulantes

Là encore, pourquoi ?
Il suffit de faire ta validation à partir de la ligne 2.
Tu peux également sélectionner une plage de cellules, par exemple de A2 à A20 ou A200 et faire ta validation de données en une seule fois. Je doute que ton fichier final fasse 1 048 576 lignes !!
Tu peux encore faire ta validation sur une cellule et utiliser copier/coller.

Pour le reste, ça va à peu près. Des manipulations en trop encore.

Je te joins ton fichier modifié en retour.

Pour répondre à ta question, c'est bien, tu as compris la marche à suivre. En t'exerçant et te renseignant ici, tu vas apprendre à simplifier au fur et à mesure.

Bon courage et bonne continuation.

Cordialement
 

Pièces jointes

  • test1.xlsx
    12.4 KB · Affichages: 31
  • test1.xlsx
    12.4 KB · Affichages: 36
  • test1.xlsx
    12.4 KB · Affichages: 32

chrbar

XLDnaute Nouveau
Re : Question sur les Listes déroulantes et les bonnes procédures à suivre?

Wouaaa! Merci beaucoup Calvus :)
Je pensais bien être tombé sur le bon forum pour me dépanner et apprendre Excel, et tu me le confirmes!

Merci d'avoir pris le temps de corriger mon fichier et de m'avoir énoncé les commandes à étudier.

J'ai essayé un truc, pourrais-tu me dire ce que tu en penses?
J'ai regardé comment mettre un titre dans la première cellule de chaque colonne de la feuille "données2", afin d'indiquer aux utilisateurs les valeurs à inclure dans cette colonne mais sans que ce titre ne paraisse dans la liste de choix dans le "tableau2".

J'ai essayé ça
=DECALER(données2!$A$2;;;NBVAL(données2!$A:$A))
mais cela modifiait l'apparence de la liste de choix: elle commençait par le bas avec un choix vide!

J'ai essayé ça
=DECALER(données2!$A$2;;;NBVAL(données2!$A$2:$A))
mais cela donnait une erreur.

Puis je pense y être arrivé avec ça:
=DECALER(données2!$A$2;;;NBVAL(données2!$A$2:$A200))
sachant comme tu le disais si bien que je ne pense pas avoir une liste de 1 048 576 choix!

Est-ce la bonne méthode?

Merci de ton aide :)
Chris
 

Calvus

XLDnaute Barbatruc
Re : Question sur les Listes déroulantes et les bonnes procédures à suivre?

Bonsoir Chris,

Content que tu sois satisfait.

Concernant ta dernière question, tu n'étais pas loin. La formule est la suivante :

Code:
=DECALER(données2!$A$2;;;NBVAL(données2!$A:$A)-1)

La syntaxe de la fonction Decaler est la suivante :

DECALER(réf;lignes;colonnes;hauteur;largeur)
La hauteur et la largeur sont facultatives.

Le principe est de décaler des cellules par rapport à une référence.

Exemple : Decaler(A1;2;3) veut dire que depuis ma cellule A1, je vais descendre de 2 lignes, et aller 3 colonnes vers la droite.
On utilisera des valeurs négatives si on veut aller dans les autres sens.
Je t'ai mis ça sur une feuille Exemple dans le fichier.

Hauteur et largeur sont celles que l'on peut choisir pour notre décalage.
Je t'ai mis un deuxième exemple, avec une formule Index, pour que tu puisses voir que je n'ai pas changé la formule Decaler.
=INDEX(DECALER($A$12;;3;3);LIGNE(A1))
Nous avons décaler la cellule A12 de 3 colonnes et sur une hauteur de 3 lignes.

Pour en revenir au début, nous avions donc cette formule :
=DECALER(données2!$A$2;;;NBVAL(données2!$A:$A))

On décale la cellule A2 de la feuille Données 2 de 0 ligne, de 0 colonne et de la hauteur des valeurs données par Nbval.
Celle-ci donnait 12. Or, comme nous avons ajouté un titre, on a maintenant 13 valeurs.
Il faut donc retrancher une ligne au décalage, ce qui donne :
=DECALER(données2!$A$2;;;NBVAL(données2!$A:$A)-1)

Notre liste ne comprend donc plus de ligne vide.

J'espère avoir été assez clair.

Cordialement
 

Pièces jointes

  • Chris.xlsx
    10.4 KB · Affichages: 28
  • Chris.xlsx
    10.4 KB · Affichages: 35
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Question sur les Listes déroulantes et les bonnes procédures à suivre?

Bonsoir chrbar et bienvenue sur le forum,

C'est assez bien pensé, mais il y mieux. Pas forcément plus simple dans ce cas, mais au moins c'est plus efficace.
Il faut utiliser la fonction Decaler, combinée à la fonction Nbval.

Code:
=DECALER(données2!$A$1;;;NBVAL(données2!$A$:A))

Cordialement

Bonjour Calvus

Puisque Chrbar est sous excel 2010 et qu'en plus il a trouvé tout seul comment utiliser les tableaux (pas complètement :) ), il n'a aucunement besoin de définir des noms avec decaler car les tableaux apportent par défaut et sans rien faire la définition dynamique des plages.

Pour Chrbar :
Dans ta feuille données, mets chacune de tes listes de données sous forme de tableau, sans prévoir aucune ligne vide pour accueillir de nouvelles données surtout : c'est le principe même d'un tableau : quand tu ajoutes quelque chose dans la ligne juste en dessous, elle s'intègre au tableau et est prise en compte.
Tu cliques sur le haut de la colonne (quand le curseur s'est transformé en flèche noire) ce qui sélectionne ta colonne de données (surtout pas toute la colonne sur excel, il y a beaucoup trop de lignes :) )
onglet formules/définir un nom
en haut tu mes par exemple "meschiffres", et en bas dans la zone de nom tu vois écrit un truc genre Tableau1[chiffres]

Idem pour toutes tes données

ensuite tu crées ton tableau :
1 ligne d'entête
une ligne vide en dessous. Tu sélectionnes JUSTE ça, onglet accueil/Style/mettre sous forme de tableau
dans la première cellule vide sous chiffres, tu cliques, données/validation/autoriser et là tu sélectionnes liste. Et dans la fenêtre tu écris simplement =chiffres.

Idem pour les deux autres colonnes

Pour ajouter une donnée dans ce tableau principal, sachant qu'il y a une liste de validation dans chaque colonne,
tu écris quelque chose dans la première cellule vide de la première colonne sous le tableau (A4 ), si tu tapes une valeur acceptée, elle est entrée directement, sinon tu as un message d'erreur et tu corriges. mais tu vois que dès que tu as écrit quelque chose à cet endroit, excel te crée une nouvelle ligne dans ce tableau et que miracle dans les autres colonnes, tes validation sont en place.
Encore mieux : ajoute une donnée dans une de tes listes dans l'onglet données et regarde ce qui se passe dans le tableau...

Plus d'info sur cet outil génial que sont les tableaux et que pour une raison qui me reste complètement incompréhensible, bien trop peu de gens utilisent de façon systématique, y compris sur ce forum. Ca reste un grand mystère pour moi car c'est certainement une des améliorations les plus intéressantes des versions récentes d'excel. C'est pas faute d'en faire la promo ici, au risque assumé d'en agacer quelques uns à force de radoter :)
Ce lien n'existe plus
 

Pièces jointes

  • listes.xlsx
    11.5 KB · Affichages: 33
  • listes.xlsx
    11.5 KB · Affichages: 36
  • listes.xlsx
    11.5 KB · Affichages: 35

Hervé

XLDnaute Barbatruc
Re : Question sur les Listes déroulantes et les bonnes procédures à suivre?

salut :)

je te rassure misange, tu radotes pas, suite à tes multiples interventions, je commence à les adopter.

c'est vrai que c'est puissant les tableaux, encore faut-il avoir le réflexe de s'en servir.

a plus
 

chris

XLDnaute Barbatruc
Re : Question sur les Listes déroulantes et les bonnes procédures à suivre?

Bonjour

Coucou Misange, Hervé

Hervé : utilises-tu toujours Excel XP ? Si non mets ton profil à jour :).

Je confirme que cela change complètement la donne car les tableaux se situent à mi chemin entre le tableur et la base de données.

Plus je les utilise, plus j'y trouve des avantages.

En plus sur 2013 on peut même faire des liaisons entre tableaux (quoique pour ces liens, je trouve que c'est plus adapté si on a une version intégrant l'accès complet à Powerpivot).
 

Discussions similaires

Statistiques des forums

Discussions
312 083
Messages
2 085 188
Membres
102 809
dernier inscrit
Sandrine83