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
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
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 ?
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;0pt par 100 pt;30 pt
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
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.