Menu déroulant dans excel

Résolu/Fermé
BOURGUI Messages postés 46 Date d'inscription mercredi 28 août 2002 Statut Membre Dernière intervention 15 avril 2008 - 15 mai 2003 à 17:42
 wahid-chaoui - 7 mars 2012 à 14:47
Objet Excel 2000

Je cherche une solution pour créer des liste déroulante sur une cellule qui appel des données présente dans une autre feuille du même fichier.

Il faut qu'une foi selectionné le libéllé selectionné, la valeur de la ligne s'affiche dans une cellule prévu à cette effet sur la premirère feuille.

Merci pour votre aide.
A voir également:

42 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
10 sept. 2006 à 09:40
bonjour

qui appel des données présente dans une autre feuille du même fichier.

pour cela tu "nommes" ta plage : par exemple "Maliste"

Tu sélectionnes ta plage à utiliser en liste,
et dans la fenêtre "zone nom" tu saisis "Maliste" et tu valides.

pour créer des liste déroulante

Pour cela tu utilises le menu données puis Validation
puis onglet options sélectionnes "liste" dans "autoriser"
et dans "source" tu mets : "=Maliste"
le nom de ta liste.
43
sebbg69 Messages postés 1 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 20 novembre 2009
20 nov. 2009 à 15:00
Bonjour gbinforme,
pourrais tu juste me dire ou se trouve le menu Validation dans le menu données, car j'ai beau cherché, je ne trouve pas... Je te remercie pour ton aide qui me sera très précieuse...
Sebbg69
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684 > sebbg69 Messages postés 1 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 20 novembre 2009
20 nov. 2009 à 21:15
bonjour

Tu poses une question dans un vieux sujet, et tu ne donnes pas ta version :
en 2003 tu as "Validation..." dans le menu données
en 2007 tu as "Validation des données" dans le menu données au milieu, puis "Validation des données" à nouveau.
0
Vraiment très bon comme conseil !!!
;-)
0
epoulos Messages postés 85 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 16 décembre 2011 493
12 avril 2011 à 10:54
Bonjour à tous,
J'ai été bloqué à l'étape "Nommer une plage".
Merci recherches ont donné ça : http://www.mdf-xlpages.com/modules/publisher/item.php?itemid=63
J'espère que ça en aidera plus d'un.
0
wahid-chaoui
7 mars 2012 à 14:47
comment faire
Lorsque je tape une lettre la liste qui m'appartien se commence de même lettre sur ma feuille s'affiche dans Excel
0
depaninf Messages postés 124 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 6 mars 2019 13
4 nov. 2007 à 18:23
Bonsoir,

- faut-il tenir compte des majuscules ?
Non

-lorsque tu saisis "mr", tu veux tous le messieurs ou faut-il ignorer en ne prenant que les noms ou les prénoms ?
On ignore les "mr" et on ne prend que les noms ( pas les prénoms).

- faut-il laisser faire la saisie ou proposer le choix dès la première lettre ?
heu...au fur et à mesure que je saisi il doit me proposer des noms (comme lorsque le nom est déjà saisi dans une autre cellule, il le propose de suite sans passer par un menu déroulant...je ne sais pas si je suis clair?

- faut-il attendre qu'il n'y ai plus qu'un choix pour valider ?
Non, si le nom recherché est Bernard et qu'un autre nom se trouve dans la liste commençant par un B (Bernadette), c'est seulement à partir du "r" qu'il me proposera Bernard puisque "Berna" est commun aux 2. Mais dès le "B" ou le "b" il peut me proposer le 1er nom dans l'ordre alphabétique, et le 2è dans un menu déroulant.

- faut-il proposer la création si absent ?
Pas pour mon fichier client mais pour le facturier c'est interessant...Voici un exemple de facture: https://www.sosdepaninformatique.com/programmes/333%20DUPONT.xls

Est ce que ca veut dire que je dois changer mes colonnes? Que je dois faire une colonne "genre" (Mr, Mlle, Mme), une colonne "prénoms", une colonne "noms"?

S'il faut trier les colonnes ça risque d'être compliqué car j'ajoute des clients tous les jours et ca peut être fastidieux de faire des opérations de tri tout le temps.

Merci pour tout en tous cas.

depaninf
https://www.sosdepaninformatique.com/
5
depaninf Messages postés 124 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 6 mars 2019 13
1 nov. 2007 à 20:53
Je te remercie pour ta réponse gbinforme mais je n'obtiens pas vraiment résultat souhaité...

J'ai un fichier excel avec 2 pages: l'une qu'on appelle Clients! avec une liste de noms d'entreprises qui va de B7 à B115, l'autre (Chiffres!) avec ces même noms d'entreprises que l'on doit choisir dans un menu déroulant qui va de C7 à C186 pour y mettre des chiffres en face.

Sur Clients! je sélectionne ma liste de noms et je l'appelle societes dans la zone prévue. Je vais dans insertion, Nom, définir; je sélectionne societes et dans "fait référence à" je mets:

=DECALER(Clients!$B$7;;;NBVAL(Clients!$B:$115))

, je valide.

Dans feuille 2 je vais dans données, validation, je décoche "quand les données..." dans alertes erreurs; dans options je choisis liste et dans source je mets:

=SI(B7<>"";DECALER($A$1;EQUIV($B$7&"*";societes;0)-1;;SOMME((STXT(societes;1;NBCAR(B7))=TEXTE(B7;"0"))*1));societes)

car ma liste de noms de societes commence sur la feuille 1 (Clients!) dans la cellule B7. C'est ca?

Si oui y'a comme un problème car j'ai bien un menu déroulant avec mes noms de sociétés mais lorsque je tape les 1eres lettres du noms d'un de mes clients rien ne vient...snifff

Aurais je fait une erreur?
Merci encore
depaninf
https://www.sosdepaninformatique.com/
3
ch'ti du 57 Messages postés 188 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 15 mars 2011 14
30 oct. 2007 à 23:15
bonjour,
peux-tu me dire comment augmenter la taille de la liste car j'ai beaucoup de chose à mettre dans la liste deroulante, je suis limite a environ une quizaine de nom (dans la zone source separe par un ; ) et me dire aussi comment faire pour que la petite fleche reste en permanence sur le cote de la case (car elle ne se met que lorsqu'on clique dessus)
merci d'avance.
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
31 oct. 2007 à 00:28
bonjour

peux-tu me dire comment augmenter la taille de la liste

Pour pouvoir augmenter ta liste automatiquement, il faut choisir une formule nommée.
Dans menu insertion définir noms tu donnes ton nom en faut de la fenêtre, "ma_liste" par exemple, et en bas tu mets la formule
=DECALER($A$1;;;;NBVAL(A:A))
en remplaçant A par ta colonne personnelle.

et me dire aussi comment faire pour que la petite fleche reste en permanence sur le cote de la case

et non ce n'est pas prévu avec cette méthode, mais tu peux mettre une couleur de fond pour matérialiser.
2
ch'ti du 57 Messages postés 188 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 15 mars 2011 14
31 oct. 2007 à 21:49
desole mais j ai fait exactement la manip que tu m as donnee mais ca ne marche pas

en remplaçant A par ta colonne personnelle
en fait c la colonne ou je mets ma liste déroulante?
1
ch'ti du 57 Messages postés 188 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 15 mars 2011 14
1 nov. 2007 à 19:18
ok c bon tout fonctionne merci bien
1
depaninf Messages postés 124 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 6 mars 2019 13
1 nov. 2007 à 19:49
Je n'ai pas encore essayer mais merci d'avance pour ta réponse...

A bientot donc pour le résultat

depaninf (anciennement justme)
1
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
2 nov. 2007 à 09:15
bonjour

je sélectionne societes et dans "fait référence à" je mets: =DECALER(Clients!$B$7;;;NBVAL(Clients!$B:$115))

Ta plage de formule est erronée et cele devrait être :
=DECALER(clients!$B$7;;;NBVAL(clients!$B7:B$115))

L'exemple donné était avec une seule feuille et dans validation tu ne peux pas mettre de formule qui va sur une autre feuille sauf une formule nommée et donc il te faut nommer ta liste par exemple :
ma_liste

=SI(chiffres!A1<>"";DECALER(clients!$B$7;EQUIV(chiffres!A1&"*";societe;0)-1;;SOMME((STXT(societe;1;NBCAR(chiffres!A1))=TEXTE(chiffres!A1;"0"))*1));societe)

Ensuite il te suffit dans le menu validation de mettre dans source : =ma_liste
1
depaninf Messages postés 124 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 6 mars 2019 13
2 nov. 2007 à 12:07
Bonjour et merci encore pour ta patience....

en fait, cette solution je l'aie déjà mais je ne peux dans ce cas appeler les noms avec les 1ères lettres, je dois choisir dans le menu déroulant le nom qui me convient, mais lorsqu'on a beaucoup de noms cela devient fastidueux.

Si cela ne te dérange pas je te mets un exemple sur mon serveur et tu peux jeter un oeil stp, ce sera plus simple... https://www.sosdepaninformatique.com/programmes/Classeur1.xls

Merci beaucoup
depaninf
https://www.sosdepaninformatique.com/
1
depaninf Messages postés 124 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 6 mars 2019 13
3 nov. 2007 à 18:03
Bonjour,

je te remercie pour le temps que tu me consacres...je suis dépanneur informatique et malgré beaucoup de tests et on aide je n'ay arrive toujours pas....je vais changer de métier lolll

J'ai essayer de refaire la formule sur mon vrai classeur mais ca ne marche pas! En fait plutot que de copier tone xemple j'aimerai comprendre le sens de cette formule, j'y parviendrai peut etre mieux.

Je te renvoie un classeur qui correspond peut etre mieux à la réalité: https://www.sosdepaninformatique.com/programmes/COMPTES%20CLIENTS%202007%20(2).xls

Merci encore pour ton aide.

depaninf
https://www.sosdepaninformatique.com/
1
depaninf Messages postés 124 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 6 mars 2019 13
4 nov. 2007 à 14:03
Bonjour,

En fait comme tu as pu le voir j'ai une liste d'entreprises, pour laquelle seul les noms d'entreprises m'interessent dans le menu déroulant, et une liste de particuliers et là c'est les noms des particuliers qui m'interessent.

C'est fourre tout parceque c'est dans l'ordre d'arrivée des clients, les cellules liées (adresse, n° de tél...) ne suivent pas forcément le tri.

Pourtant, j'ai déjà vu un fichier excel pour faire des factures: dans les cellules "libéllé" pas besoin de menu déroulant, on tape les 1eres lettres (par exemple: "sup" pour Suppression des virus).

Est ce possible?

depaninf
https://www.sosdepaninformatique.com/
1
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
12 nov. 2007 à 23:38
bonjour

Je dois ne pas avoir tout compris, ou je ne sais pas.

Rassures-toi, cette méthode peut rendre de grands services mais elle n'est pas forcément facile à maîtriser.

Pour nommer la plage dynamique, si la formule est bien saisie, il n'y a pas de souci. Je prends l'exemple avec la liste située dans la "feuil1" et l'utilisation sur n'importe qu'elle feuille, la même ou une autre (c'est préférable) en étant positionné en D1.
noms	

=DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A))


Pour limiter la zone d'affichage en fonction de la saisie, on peut aussi nommer la formule qui s'adaptera ensuite lors de l'utilisation.
maliste

=SI(D1<>"";DECALER(Feuil1!$A$1;EQUIV(D1&"*";noms;0);;SOMME((STXT(noms;1;NBCAR(D1))=TEXTE(D1;"0"))*1));noms)

Pour utiliser, dans la fenêtre valider puis liste, il suffit de mettre "=maliste"
La liste proposée se limitera à la portion de liste compatible avec la saisie : NBCAR(D1))=TEXTE(D1;"0"))*1)
après avoir démarré la liste qui doit être triée, à la position saisie : DECALER(Feuil1!$A$1;EQUIV(D1&"*";noms;0)
et si l'on n'a rien saisis, on a la liste complète.

Si cela ne fonctionnes toujours pas, colles nous tes formules pour voir ce qui peux clocher.
1
shanks-le-roux Messages postés 6 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 10 novembre 2009 1
24 févr. 2009 à 15:18
bonjour,

sur la page 1 de cette même discution, je voudrai revenir sur la taille de la liste déroulante.
alor j'ai bien fait comme "gbinforme" a dit :

Pour pouvoir augmenter ta liste automatiquement, il faut choisir une formule nommée.
Dans menu insertion définir noms tu donnes ton nom en faut de la fenêtre, "ma_liste" par exemple, et en bas tu mets la formule
=DECALER($A$1;;;;NBVAL(A:A))
en remplaçant A par ta colonne personnelle.


a ceci trois questions:
- "ma_liste" c'est la colone de données celle qui vont apparaitre dans la liste déroulante, ya t'il une limite de taille a cette liste?
- la formule écrite va agrandir la liste déroulante de combien de lignes ? marche t-elle pour une liste déroulant sur une autre feuille ??
-"$A$1" et "A:A" a correspondent a quoi ??

d'avance merci.
1
justme92 Messages postés 41 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 23 octobre 2006 14
8 sept. 2006 à 19:24
Salur, je cherche la meme chose alors si tu trouves la réponse....

@+
justme
0
Bonjour, ca fonctionne très bien mais quand on a une longue liste c'est quelques fois fastidueux de chercher un nom dans le menu déroulant. Ce qui serait bien c'est que l'on puisse aussi mettre les premieres lettres du nom que l'on cherche et que celui ci aparaisse...

Est ce possible Messieurs?

Merci d'avance
justme
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
31 oct. 2007 à 23:41
bonjour

Ce qui serait bien c'est que l'on puisse aussi mettre les premieres lettres du nom que l'on cherche et que celui ci aparaisse...

C'est possible, pour cela tu nommes ta plage avec une formule comme ceci par exemple
noms	

=DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A))


Dans la fenêtre validation onglet "alerte erreurs" tu décoches "quand des données..."
Dans la fenêtre validation onglet "options" tu choisis liste dans autoriser et dans source tu mets cette fonction en remplaçant D1 par l'adresse de la première cellule sélectionnée.
=SI(D1<>"";DECALER($A$1;EQUIV($D$1&"*";noms;0)-1;;SOMME((STXT(noms;1;NBCAR(D1))=TEXTE(D1;"0"))*1));noms)

La liste proposée se limitera à la portion de liste compatible avec la saisie.
Si tu as la liste des départements, en saisissant "alp" tu n'auras à choisir que les "alpes...".
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
31 oct. 2007 à 23:46
bonjour

en fait c la colonne ou je mets ma liste déroulante?

Non c'est la colonne où tu as ta liste de choix.

Dans ton menu validation tu indique seulement le nom de ta formule nommée =ma_liste par exemple.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
2 nov. 2007 à 15:09
bonjour

Je te remet ton classeur avec mes zones nommées sur https://www.cjoint.com/?lco7TkHfJB

Cela fonctionne comme tu peux le constater, mais pour cela il faut que ta liste soit triée sinon la liste s'arrête sur le premier trouvé.

Pour faire la même chose avec une liste en vrac, c'est un peu plus compliqué à réaliser mais c'est possible et si tu me définis exactement ce que tu souhaites je veux passer du temps pour te faire voir la façon de le réaliser.

a+
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
4 nov. 2007 à 10:07
bonjour

J'ai essayer de refaire la formule sur mon vrai classeur mais ca ne marche pas!

Comme je te l'ai dit "pour cela il faut que ta liste soit triée sinon la liste s'arrête sur le premier trouvé"

Avec tes listes "societe" ou "particuliers" cela ne peux pas marcher car ce sont des listes fourre tout où l'on trouve ou pas le titre de civilité, associé au nom ou au(x) prénoms, avec des caractères de séparation variables et pas forcément présents.

C'est un peu le problème des fichiers Excel habituels : c'est "marrant" de mettre beaucoup de couleurs pour en prendre plein les yeux mais une base de données efficace est surtout caractérisée par des cellules bien spécifiques et contrôlées :
- une cellule titre (mr mme dr...) saisie avec une liste déroulante pour éviter les fantaisies (mlle, mle,miss...)
- une cellule nom
- une cellule prénom
- et ensuite, rien n'empêche pas d'avoir une cellule "societe" ou "particuliers" structurée avec "titre" & "nom" & "prénom"

Ensuite tu peux faciliter la saisie avec quelques formules qui fonctionnent correctement.

Comme la base de données est saisie, pour avoir une aide il faut obligatoirement passer par une macro qui permette le repérage des valeurs. Je veux bien me lancer mais il serait peut-être plus judicieux de saisir les données avec un formulaire de contrôle ?

J'ai fait cela pour une association et les utilisateurs, assez novices pourtant, ont maintenant un outil très utile pour leur gestion et les courriers arrivent avec des adresses normalisées facilement utilisables.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
4 nov. 2007 à 17:38
bonjour

Est ce possible?

Oui c'est tout à fait possible mais pour cela il faut faire une macro, car avec des formules il faudra énormément compliquer pour obtenir un résultat et pour cela il faudrait que tout soit clair pour le résultat à obtenir.

En effet :
- faut-il tenir compte des majuscules ?
- lorsque tu saisis "mr", tu veux tous le messieurs ou faut-il ignorer en ne prenant que les noms ou les prénoms ?
- faut-il laisser faire la saisie ou proposer le choix dès la première lettre ?
- faut-il attendre qu'il n'y ai plus qu'un choix pour valider ?
- faut-il proposer la création si absent ?
- etc à voir en regardant de plus près.

Tout est possible ou presque, encore faut-il réellement connaître l'utilisation et les besoins...
0