Faire une mutilsélection dans une base de données exel

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

seuvrard

XLDnaute Nouveau
Bonjour,

Je suis nouveau sur le forum. J'avais il y a quelques années pas mal de notions de programmations qui se sont estompées au fil des années. J'ai un petit problème que je suis sur ne vous en posera pas.

Je souhaite faire apparaitre sur une feuille plusieurs cases de selection type formulaire (combobox?) afin d'afiner une selection sur une base de donnéees.
Je m'explique ce n'est pas pour cette application mais ce sera plus parlant pour tout le monde :
Par exemple, j'ai une base de données de CD. En première colonne j'ai le chanteur. En deuxième colonne j'ai l'album. En troisieme colonne j'ai les titres.

Ce que je souhaiterai c'est avoir dans un premier temps affiché dans ma première case de sélection l'ensemble des artiste de ma base (sans doublon). Puis en fonction de l'artiste selectionné, que cela remplisse la seconde case de sélection (sans doublon possible). Puis une fois que j'ai sélectionné l'album, cela me remplisse la derniere case de sélection pour me donner les titres disponibles pour cet album. Enfin lorsque je sélectionne le titre cela me dit si je l'ai ou pas.

En espérant avoir été suffisamment clair. Je vous remercie.
@+

MAJ : En gros c'est un filtre mais pas sur la feuille de données
 
Dernière édition:
Re : Faire une mutilsélection dans une base de données exel

Bonsoir seuvrard,
Bonsoir à toutes et à tous.

Bienvenue parmi nous.

Un exemple comme fichier de votre problème apportera beaucoup d'aide.

A vous lire et bon courage.

Cordialement.

BCharef
 
Re : Faire une mutilsélection dans une base de données exel

Bonjour

A priori c'est le principes des listes déroulantes hiérarchisées ou listes déroulantes dépendantes.

Il y a pas mal de fil à ce sujet : une petite recherche sur le forum devrait te donner la solution (hors VBA).
 
Re : Faire une mutilsélection dans une base de données exel

😀 Hello Forum, le fil,

Vois si ce fichier te va Seuvrard.

Il reste cependant un problème que je n'ai pas réussi à résoudre après plusieurs heures de 😡

La ListBox "ListTitres" n'affiche que les titres des quatre premiers groupes de la liste 😕

Si un pro a la classe d'essayer de savoir pourquoi.

Par avance, merci.

Bon début de semaine à tous !

Hulk.

EDIT : Je rebondis pour vous mettre en PJ le résultat attendu dans la "ListTitres".
Le fichier est sauf erreur d'Hervé, merci à lui.
 

Pièces jointes

Dernière édition:
Re : Faire une mutilsélection dans une base de données exel

bonjour seuvrard, bcharef, chris, Hulk

en rajoutant ce code, on recalcule la ligne correspondante au couple (artiste-album) avant d'afficher les titres dans la list-box. Le problème à l'air d'être résolu.

PS: par contre j'ai du mal à voir où était l'erreur...

Code:
'***************************************************************************************************************
'Ici pb : Il n'affiche que les titres des quatre premiers groupes de la liste en colonne A, pour eux c'est bon,
'mais pour les autres groupes, il affiche aussi les titres des quatre premiers groupes ??
    
[B]    'récupérer la ligne
    With ThisWorkbook.Sheets("Artistes et Albums")
        Set cellFind = .Range("A:A").Find(Me.ComboArtistes.Text, , xlValues, xlWhole)
        If Not cellFind Is Nothing Then
            firstCellAddress = cellFind.Address
            Do
                If cellFind.Offset(0, 1).Text = Me.ListAlbums.Value Then Ligne = cellFind.Row
                Set cellFind = .Range("A:A").FindNext(cellFind)
            Loop Until cellFind.Address = firstCellAddress
        End If
    End With[/B]
    If ComboAlbums <> "" Then
        ListTitres.Column = Range(Cells(Ligne, 3), Cells(Ligne, Cells(Ligne, 256).End(xlToLeft).Column)).Value
    End If
    
'***************************************************************************************************************
Il faut aussi déclarer les 2 autres variables en début de Sub
Code:
Private Sub ComboAlbums_Change()
    
[B]    Dim cellFind As Range
    Dim firstCellAddress As String[/B]
    Dim Photo As Variant
    Dim Ligne As Integer
a+
 
Dernière édition:
Re : Faire une mutilsélection dans une base de données exel

Re,

Chapeau et merci Maestro !

Vais analyser ton bout de code...

Donc, pour les intéressés, le fichier modifié est à télécharger ici.

Ben voili, maintenant s'agit d'voir si on peut pousser la chansonette un peu plus loin 😀 style sélectionner un morceau et l'écouter... utopique ?

Me lance dans l'aventure 😀

Encore merci Mromain !

Cdt, Hulk.
 
Dernière édition:
- 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
11
Affichages
400
Retour