Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

recherche dans une zone de liste

  • Initiateur de la discussion Initiateur de la discussion emi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

emi

Guest
bonjour,

ze suis en train de faire un tableau pour mon job. je dois mettre une liste déroulante avec 4 numéros de départements concernés. je voudrai que lorsqu'on a choisi un département, la cellule d'à coté qui est une zone de liste également, il y a la liste des villes du département. j'ai déjà une feuille avec les départements, les villes...
je pense qu'il faut que je passe en vba mais je ne connai pa la fonction "recherche" en vba.

pour la première liste, j'ai fai données > validation et j'ai insérer mes 4 numéros.

merci d'avance !!!😛
 
Re : recherche dans une zone de liste

ah tu as fait comme ca, pas mal l'idée merci beaucoup. cependant il n'y a pas que les départements et les villes, mais aussi la liste des établissements à partir de la ville selectionnée. où je pourrai placer ca dans le 2eme tableau que tu m'as donné ?
 
Re : recherche dans une zone de liste

Salut

Tu peux peut être faire un truc du style:

Sur feuille 1 il y a tes deux listes déroulantes:
departements Villes

puis : 4 colonnes:
DEPTMT1 DEPMT2 DEPMT 3 DEPMT4

dans chaque colonne la liste de tes villes

Ensuite, tu garde ta première liste déroulante et pour la deuxième je pense à un code dans ce style:
Code:
If Range("A1").Value = DEP1 Then  'A1 est la cellule ou s'affiche le departement (liste que tu as créer)
 With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$B$6:$B$23"  'ici la colone du departemnt 1
        .IgnoreBlank = True
        .InCellDropdown = True
 
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
 
ElseIf Range("A1").Value = DEP2 Then  'A1 est la cellule ou s'affiche le departement (liste que tu as créer
 With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$C$6:$C$23"  'ici la colone du departemnt 2
        .IgnoreBlank = True
        .InCellDropdown = True
 
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
 
ElseIf Range("A1").Value = DEP3 Then  'A1 est la cellule ou s'affiche le departement (liste que tu as créer)
 With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$D$6:$D$23"  'ici la colone du departemnt 3
        .IgnoreBlank = True
        .InCellDropdown = True
 
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
 
 
ElseIf Range("A1").Value = DEP4 Then  'A1 est la cellule ou s'affiche le departement (liste que tu as créer)
 With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$E$6:$E$23"  'ici la colone du departemnt 4
        .IgnoreBlank = True
        .InCellDropdown = True
 
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
End If
 
End sub

par contre si quelqu'un opeu corriger les erreurs et apporter une solution pour que la macro se lance touteseule ce serai coll car moi j'ai pas le niveau pour ca encore... dsl


EDIT: Coucou jocelyn,j'ai pas raffraichi, j'ai pas été assez rapide et en plus pas assez efficace
... Que du pas assez quoi
 
Dernière édition:
Re : recherche dans une zone de liste

c'est une idée aussi, mais j'évite de mettre du vba, car là où je travaille ils désactive mes macros pour cause de sécurité et je voudrais pas tout recommencer s'ils ne veulent pas mes codes !
 
Re : recherche dans une zone de liste

Effectivement ca peu poser problème

Enfin bon mon idée n'est pas du tout la plus simple, ni la plus efficace donc à abandonner
Je n'avais pas pensé à ce qu'a fait Jocelyn (Bien mieux entre nous soit dit)

Pour finir, si ca rassure ta boite, le jour ou j'arrive à faire un virus sur excel en VB, alors là, je change de boulot... arf
++
 
Re : recherche dans une zone de liste

re emi,
Bonjour Darnel,

alors pour les sociétée il suffit de continuer sur le même model

quand tu a tout listé les ville sous les département et les société sous les villes pour gagner du temps dans la création de tes plages nommées tu selectionne une donnée tu fait simultanément les touches ctrl et * ensuite menu insertion => nom => créer et dans la fenetre tu ne laisse coché que ligne du dessus et ok toutes tes plages sont crées d'un coup

voila

Jocelyn

edit ben moi je n'évite pas de faire du VBA je ne sais tout simplement pas en faire pas foutu le jocelyn d'écrire ne serais ce que ce qu'a ecrit Darnel mais si il n'est pas vraiment content de lui je lui tire mon chapeau
 

Pièces jointes

Dernière édition:
Re : recherche dans une zone de liste

lol jocelyn

C'est du pur enregistreur de macro couplé à du If... Else.... End If (condition)
La seule chose que je maitrise à peu près en VB
je ne suis pas mécontent, juste que j'ai oublier de penser à ce que tu as fait car je ne le connaissais pas moi non plus.
lol 😛
 
Re : recherche dans une zone de liste

ouha merci pour ton aide c'est ce que je cherchais en fait tu es un winner ! c un peu le bazar dan la base de liste c'est pas grave, j'vien de penser qu'au lieu de faire 2 tableaux comme tu a s fait, je peux n'en fait qu'un en mettant les département en haut des villes !
perso le vba je my connai un peu mais ca fai un an que j'en ai pa refait (meme excel d'ailleurs c pour ca ke j'ai posté), alors dur de se remettre dans le bain !
 
Dernière modification par un modérateur:
Re : recherche dans une zone de liste

re emi darnel,

Suivant comment est configuré ta base avec les sociétés les departement et les ville .

en imaginant qu'en feuille base

la colonne A contient les société
la colonne B les departements
la colonne C les villes

et que tout cela soit saisi a la volée donc pas trié il y a la solution de créer bien moins de liste mais un liste automatique pour les villes qui ce met a jour suivant le departement et la meme chose pour les société qui se met a jour en automatique suivant la ville

pour la liste departement comme tu n'en a que 4 soit tu les mets en dur dans la liste de validation soit tu crées une liste a part moi dans le fichier je les ai mis en dur.

cette solution me parait plus simple a géré

voila regarde et dis moi ce que tu en penses

Jocelyn
 

Pièces jointes

Re : recherche dans une zone de liste

ok ok je voi ca mai je laisse ma base toute simple car sinon ils vont se prendre la tete les gens avec qui je bosse, et je pense pas que cette liste soit modifiée + tard, je lui met une protection et basta !
 
Re : recherche dans une zone de liste

par contre j'ai un autre probleme. J'ai une liste d'établissement sur Lons-Le-Saunier et je ne peux pas définir ma colonne avec le meme nom que la ville. aparamen il ne pren pa les - ni les espaces
 
Re : recherche dans une zone de liste

re

hum hum a ce moment la remplace les tirets de Lons-Le-Saunier par des underscores touche 8 tu clavier alpha
cela donne ca
Lons_Le_Saunier

je ne vois pas d'autre solution

Jocelyn
 
Re : recherche dans une zone de liste

humm jy ai deja pensé et j'aimerai bien mais ça ne fait pas très professionnel tout cas, surtou que le tableau va etre imprimé et vu pour une réunion. je ne peux meme pas coller les mots, ca fait pas très joli dou tou
 
Re : recherche dans une zone de liste

re bonjour,

une solution par rapport a mon exemple dans le feuille de base tu ecrit le nom corectement partout sous le departement et en entete de colonne avec les espace quand tu nomme la plage tu donne le nom avec les underscores ensuite Pour la formule de la liste de validation de la cellule C2 celle qui permet de choisir les societé tu tapes

=INDIRECT(SUBSTITUE(B2;" ";"_"))

j'ai tester cela fonctionne fais des essai si tu ne reussi pas je te renverrais le fichier avec la correction

Jocelyn
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…