Problème d'affichage de tous les items dans une combobox

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 !

cibleo

XLDnaute Impliqué
Bonjour le forum,

J'expose le problème :

Les listes figurant dans la feuille "BaseGeo" alimentent la "ComboPCharge" suite à un premier choix effectué dans la "ComboDe".

Ces listes étant dynamiques, c'est le nombre de données de la colonne A qui conditionne l'affichage dans la "ComboPCharge" soit 4 lignes dans le cas présent.

Si mon premier choix ("ComboDe") se porte sur la colonne B (Hopitaux, Cliniques), je ne peux afficher les 12 lignes de cette liste dans la "ComboPCharge" 😎

2 plages nommées sont concernées dans mon exemple : "Rubrique1" et "Rubrique2".

Question : ai-je mal défini la plage nommée "Rubrique2" ou faut-il modifier le code ci-dessous dans l'UserForm2 ?

Code:
Private Sub ComboDe_Click()
choix = Me.ComboDe.ListIndex
  Me.ComboPCharge.List = [Rubrique2].Offset(, choix).Resize(Application.CountA([Rubrique2].Offset(, choix))).Value
End Sub

Code:
Private Sub UserForm_Initialize()
  Me.ComboCivilite.List = Array("Mr", "Mme", "Mlle", "Mr et Mme", "Enfant")
  Me.ComboChauffeurs.List = [Chauffeurs].Value
  Me.ComboClients.List = [Clients].Value
  [COLOR=red]Me.ComboDe.List[/COLOR] = Application.Transpose(Range("Rubrique1"))
  Me.ComboVers.List = Application.Transpose(Range("Rubrique1"))
.../...

Pouvez-vous m'aider ?

Cibleo
 

Pièces jointes

Re : Problème d'affichage de tous les items dans une combobox

Bonjour le fil, cibleo

Peut-être comme ci-dessous
Code:
Private Sub ComboDe_Click()
choix = Me.ComboDe.ListIndex

  Me.ComboPCharge.List = _
  [Rubrique2].Offset(, choix).Resize(Application.CountA([B][COLOR="Red"]Feuil2.[A:A][/COLOR][/B].Offset(, choix))).Value

End Sub
Car [Rubrique2] contient 4 valeurs (sans l'en-tête) et ce, même si on le déplace.
D'ou la nécessité d'une autre référence (dans l'exemple "Feuil2.[A:A]")

A plus
 
Re : Problème d'affichage de tous les items dans une combobox

Bonjour Soenda,
Bonjour Pierrejean,

On est à coté les amis 😱

Encore une fois, je me suis mal expliqué, ça devient une habitude 🙄

La "ComboDe" sert de filtre pour la "ComboPCharge".

Illustration :

Dans "ComboDe", je sélectionne "Canton de Vernusse", s'affiche bien dans la "ComboPCharge" les 4 villages figurant dans la liste feuille "BaseGeo".

Par contre si je sélectionne "Hopitaux, Cliniques", les 12 données figurant sous l'en-tête "Hopitaux, Cliniques" ne s'affichent pas, je n'ai que les 4 premiers de la liste, parce que en colonne A je n'ai que 4 données.

Idem pour la sélection des autres en-têtes dans "ComboDe", je n'ai que 4 items qui s'affichent dans "ComboPCharge".

Précision : j'avais repris ces instructions sur un exemple de Boisgontier.
Mais comme la 1ère colonne était plus longue que les suivantes, je ne m'étais pas aperçu du petit bug.

Cibleo

Ps: j'ai dit une anerie Soenda 😕, ta solution a l'air de fonctionner, je teste encore.
 
Dernière édition:
Re : Problème d'affichage de tous les items dans une combobox

Re bonsoir à tous,

Soenda, dans ton exemple, pourquoi il m'affiche un item blanc en bout de liste de la "ComboPCharge ?

Ne peut-on pas trouver une solution en gardant la plage nommée ?

Cibleo
 
Re : Problème d'affichage de tous les items dans une combobox

bonjour Cibleo,PierreJean,Soenda
si j'ai bien compris
limité à 4 items(est ce normal ou faut il afficher toute la liste)

Private Sub ComboDe_Click()

If Me.ComboDe > -1 Then
choix = Me.ComboDe.ListIndex
Me.ComboPCharge.Clear
Me.ComboPCharge.List = [Rubrique2].Offset(, choix).Resize(Application.CountA([Rubrique2].Offset(, choix))).Value
End If

End Sub

Private Sub ComboVers_Click()

If Me.ComboVers > -1 Then
choix = Me.ComboVers.ListIndex
Me.ComboDestination.Clear
Me.ComboDestination.List = [Rubrique2].Offset(, choix).Resize(Application.CountA([Rubrique2].Offset(, choix))).Value
End If

End Sub

à bientôt
 
Re : Problème d'affichage de tous les items dans une combobox

Bonsoir à tous

cibleo à dit:
pourquoi un item blanc en bout de liste de la "ComboPCharge ?
Un petit oubli . . .
Code:
Private Sub ComboDe_Click()
    . . .
  ComboPCharge.List = ... (Application.CountA(Feuil2.[A:A].Offset(, choix))[B][COLOR="Red"] - 1[/COLOR][/B]).Value
End Sub


cibleo à dit:
Ne peut-on pas trouver une solution en gardant la plage nommée ?
Si probablement, mais il serait plus simple (pour le codage) d'avoir une plage (de référence) nommée différente.

A plus
 
Re : Problème d'affichage de tous les items dans une combobox

Bonsoir bebere,
Bonsoir ChTi160,

Non bebere, il faut afficher toute la liste et non pas 4 items.

Sans plage nommée, la solution de Chti160 fonctionne.

J'analyse tout cela plus tard, à froid, parceque là je sature 😎

A bientôt

Bonne soirée à tous Cibleo

Edit : Oui, Soenda cela me va comme cela, si tu pouvais avec la plage nommée 😉

Allez suffit pour ce soir.
 
Dernière édition:
Re : Problème d'affichage de tous les items dans une combobox

Bonjour à tous,
Bonjour Lii,

Pas facile de vous départager 🙂

C'est Lii qui l'emporte.
Je retiens la solution de soenda et garde sous le coude le beau travail de ChTi160.

Non classé : bebere et Pierrejean 😉

Merci à vous tous et à bientôt.

Cibleo
 
- 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

F
Réponses
2
Affichages
873
François
F
Retour