Alimenter un combobox en fonction de la sélection d'un autre combobox

J-Charles

XLDnaute Occasionnel
Bonjour à tous,
J'aurais besoin de vos compétences en ce qui concerne l'alimentation d'un deuxième combobox par rapport au choix effectué dans un premier combobox.
J'ai créé un fichier pour une association où j'ai saisi divers renseignements sur des adhérents. J'ai dans mon Userform j'ai placé un premier combobox (CbxNom), alimenté par des noms de familles se trouvant sur une colonne d'une feuille de calcul. Cette liste de nom comprend parfois plusieurs fois le même nom si plusieurs membres d'une même famille. Mon code pour le combobox "CbxNom" permet de l'alimenter de façon à ce que les noms soit apparaissent de manière unique et par ordre alphabétique. J'aurais souhaité que le second combobox (CbxPrenom) ne me présente que le ou les prénoms reliés au nom sélectionné dans le combobox "CbxNom".
Pour infos, ma liste de noms dans la feuille excell ne peut être classée par ordre alphabétique et les mêmes noms ne sont pas forcément l'un en dessous de l'autre.
J'espère avoir été clair et je joints un fichier pour plus de compréhension.
Je vous remercie par avance de votre aide et du temps que vous consacrez à aider ceux en difficultés
Bonne journée
 

Pièces jointes

  • EssaisCombobox.xlsm
    21.2 KB · Affichages: 34

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Alimenter un combobox en fonction de la sélection d'un autre combobox

bonjour J-Charles,

ajoute ce code:

Code:
Private Sub CbxNom_Change()
CbxPrenom.Clear
For i = 2 To Range("B65535").End(xlUp).Row
If Cells(i, 1) = CbxNom.Value Then
    CbxPrenom.AddItem Cells(i, 2)
End If
Next i
End Sub

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    21.5 KB · Affichages: 32
  • 111.xlsm
    21.5 KB · Affichages: 41
  • 111.xlsm
    21.5 KB · Affichages: 87
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Alimenter un combobox en fonction de la sélection d'un autre combobox

Bonjour.
Le plus simple est de confier la charge des ComboBox à un objet ComboBoxLiés qui s'occupera de tout.
Voulez vous que j'équipe votre classeur du module de classe nécessaire et de quelques autres modules de service qu'il utilise ?
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Alimenter un combobox en fonction de la sélection d'un autre combobox

Re,

Un autre essai qui utilise deux colonnes dans cbxPrenom. La 2 ième colonne est invisible mais contient le numéro de ligne de la personne sur la feuille "Feuil1". Cette deuxième colonne peut ensuite être utilisée pour référencer directement la ligne de la personne au sein de Feuil1 (voir bouton "afficher")

nota: pour rendre visible la 2ième colonne, remplacer dans la propriété ColumnWidths de cbxprenom la valeur 100 pt;0 pt par 100 pt;30 pt
 

Pièces jointes

  • J-Charles-EssaisCombobox-v2.xlsm
    31.3 KB · Affichages: 26
Dernière édition:

J-Charles

XLDnaute Occasionnel
Re : Alimenter un combobox en fonction de la sélection d'un autre combobox

Tous mes remerciements à phlaurent, à mapomme et à Dranreb pour la rapidité de leur réponse. Le résultat obtenu est parfait, il me reste à bien comprendre le code et voir celui que je vais adapter.
Quant à Dranreb je veux bien que tu équipes le classeur du module de classe nécessaire et de quelques autres modules de service qu'il utilise ?
Encore merci de votre aide et bonne journée
 

Dranreb

XLDnaute Barbatruc
Re : Alimenter un combobox en fonction de la sélection d'un autre combobox

Alors le voici.
J'ai du sacrifier le CommandButton dans la feuille, ils passent toujours mal à la conversion des .xlsm en .xls pour ma version d'Excel.
 

Pièces jointes

  • CbxLiésJCharles.xls
    191.5 KB · Affichages: 38

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16