Listes déroulantes conditionnées

  • Initiateur de la discussion Initiateur de la discussion skut
  • 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 !

skut

XLDnaute Nouveau
Bonjour à tous.
Celà fait déjà un petit moment que je recherche une solution à mon problème et pour le moment, sans aucun résultat.
Je m'explique:

J'ai une page excel contenant :
Col 1 -> nom d'enseignes de magasins
Col 2 -> villes
Col 3 -> adresses
Col 4 -> surfaces de vente

Je souhaiterais, positionner sur une autre page 3 listes déroulantes:
- la première avec le nom des enseignes (1 seule fois chacune)
- la deuxieme avec le nom des villes correspondantes à l'enseigne choisie dans la liste 1
- la troisieme avec les differentes adresses correspondantes aux enseignes dans ces villes

et tout ceci pour enfin récupérer dans une cellule en dessous la surface de vente correspondante au magasin choisit.

Le but est donc de sélectionner son magasin, ville et adresse sans avoir à écrire quoi que ce soit pour obtenir la surface de vente.

Je voulais savoir si cela été possible avec des formules ou avec du VB sachant que ma base de donnée est assez lourde (6949 lignes !)

Merci d'avance pour votre aide.
 
Re : Listes déroulantes conditionnées

Bonjour,

Voir PJ


Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([A2:A100], Target) Is Nothing And Target.Count = 1 Then
    Sheets("liste").[k2] = Empty
    Sheets("liste").[A1:D1000].AdvancedFilter Action:=xlFilterCopy, _
       CriteriaRange:=Sheets("liste").[k1:k2], CopyToRange:=Sheets("liste").[g1], Unique:=True
  End If
  
  If Not Intersect([B2:B100], Target) Is Nothing And Target.Count = 1 Then
    Sheets("liste").[k2] = Target.Offset(0, -1)
    Sheets("liste").[l2] = Empty
    Sheets("liste").[A1:D1000].AdvancedFilter Action:=xlFilterCopy, _
       CriteriaRange:=Sheets("liste").[K1:L2], CopyToRange:=Sheets("liste").[H1], Unique:=True
  End If
  
  If Not Intersect([C2:C100], Target) Is Nothing And Target.Count = 1 Then
    Sheets("liste").[k2] = Target.Offset(0, -2)
    Sheets("liste").[l2] = Target.Offset(0, -1)
    Sheets("liste").[m2] = Empty
    Sheets("liste").[A1:D1000].AdvancedFilter Action:=xlFilterCopy, _
       CriteriaRange:=Sheets("liste").[k1:m2], CopyToRange:=Sheets("liste").[I1], Unique:=True
  End If
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : Listes déroulantes conditionnées

Re bonjour.
Je te remercie pour ta réponse si rapide.
Par contre bien qu'ayant des notions en visual basic et en formules Excel, je ne comprend pas ce qui est fait dans tes formules... et le code que je pensais pouvoir adapter s'est révélé plus compliqué à comprendre que prévu.
Je joins donc un document avec une partie de ma liste pour voir si on peut l'adapter à ce que je sohaiterais (sachant que l vrai liste fait 6949 lignes).
Merci encore pour ton aide.
 

Pièces jointes

Re : Listes déroulantes conditionnées

Bonjour skut, BOISGONTIER,

Et l'utilisation du Filtre automatique, ne serait-elle pas plus adaptée ?

Selection de tes titres et Données/Filtre automatique.

A voir.

A te lire.

Jean-Pierre
 
Re : Listes déroulantes conditionnées

Bonjour Jeanpierre.

J'avais pensé à l'utilisation de filtres comme tu le dis.
Mettre une premiere liste de nom d'enseignes puis filtrer ma base selon l'enseigne choisie et dire à la seconde liste d'afficher les valeurs de la colonne Ville ainsi filtrées et ainsi de suite jusqu'à n'obtenir qu'une valeur de surface de vente que j'afficherais ...
Seulement cela m'est hors de portée.
Si c'est possible, je veux bien qu'on m'explique !

Merci .
 
Re : Listes déroulantes conditionnées

Merci Jeanpierre.
Seulement, je souhaiterais les résultats sur la feuille "recherche" pour ne pas que l'on voit toute la base de donnée affichée. Et c'est de l que me vient le problème.
 
- 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

Discussions similaires

Réponses
17
Affichages
1 K
Réponses
10
Affichages
933
Retour