Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…