Remplissage listbox

Bonsoir à tous,

j'ai un pb avec ma macro qui contient une combobox et une listbox.

avec la macro ci-dessous je remplis ma combobox

image image

Mais je n'arrive pas en fonction du choix dans ma combobox (G1,G2,...) à afficher dans ma listbox les différentes sections associées. J'ai essayé différents codes impossible d'y arriver seul...

je ne sais pas si c'est très clair.

Merci d'avance pour votre aide

Bonjour,

Une solution

impscr1

A+

Bonjour Galopin01 & Co

Autre proposition

20combo.xlsm (20.64 Ko)

Merci pour vos retours je teste ca ce soir

Je suis désolé d'être chiant mais aucun de vos deux codes ne fonctionnent .

Si vous avez une idée je suis preneur

Hummm !

Dans le fichier que je t'ai envoyé, il y a un bouton "SELEC" en bas à gauche pour ouvrir l'UF. Lorsque tu sélectionnes un item dans la combo la liste se remplit automatiquement. Chez moi ça marche et mon Excel est plus vieux : aucune raison que ça ne fonctionne pas chez toi si tu as activé la modification.

Bonjour toutes et tous

remerciements à : Galopin et Optimix

@Luigi200145, il faudrait en dire un peu plus, c'est quoi qui coince, car, j'ai testé sur le même classeur les 2 codes de Galopin01 et d'Optimix, le tout fonctionnent correctement,

c'est pour cette raison qu'un classeur de test anonymiser est souhaitable sans données confidentielles afin de faciliter la tâche de tout l'monde

Note : ci-joint le classeur d'exemple Feuil1 (Galopin01)UserForm1, Feuil2 (Optimix)UserForm2 -;)

crdlt,

André

@Optimix Quand j'ouvre ton fichier en effet le code fonctionne bien or quand je le mets dans mon fichier perso il ne fonctionne plus, j'ai bien vérifié que le copie-colle n'était pas erroné mais non hélas. Le débuggueur reste figé sur le listbox, j'ai pourtant essayé de le changer de nom rien à faire il ne veut pas.

J'ai joint mon fichier il n'y a rien à cacher dedans. si vous trouver où est l'erreur c'est génial sinon tant pis.

8test-enem.xlsm (18.84 Ko)
image

Re,

comme ceci, je l'ai fait à la rapide

crdlt,

André

Bonjour,

En principe quand on vous donne des réponses, ça fonctionne...

Ça marche pas n'est pas une réponse ! Il se passe toujours quelque chose : Quel est l'erreur, ou le message d'erreur rencontré, pourquoi le résultat n'est-il pas satisfaisant?

Une autre fois tu fournis directement le classeur, ça évitera à 3 personnes de perdre leur temps...

A+

Bonjour Galopin et André.
Effectivement, on aurait gagné pas mal de temps.

#Luigi
Comment veux-tu que ça marche si tu ne mets pas de ListBox dans ton UF ? Elle est un peu fort de café celle-là.

8enem.xlsm (19.66 Ko)

Merci André et Optimix pour vos réponses qui plus est avec amabilité, en revanche galopin tu ferais bien d'en prendre un ça te détendrait

Bonjour …

Un mot pour un autre et paf : « des mots dits, des maux subis ! »

Du marc de café pour lire … ce n’est pas ma tasse de thé !

Si dans le fichier joint, il n’y a pas de contrôle Listbox, il y a bien une liste nommée Section (déroulante pour Combobox et non ListBox).

Le problème vient simplement* de la propriété RowSource mal initialisée (A2 mais pourquoi ?) !

vba f4

Si on la vide, les premières macros proposées donneront les listes attendues.

* une fois de plus je vais préconiser l’ouverture de la fenêtre des propriétés des objets (F4) dans l’éditeur Visual Basic, 1, pour savoir quelles sont celles disponibles pour l’objet, 2, pour initialiser celles qui seront invariables sans alourdir la partie Macro !

Tant que j’y suis, je continue à préconiser l’utilisation de tableau structuré (comme dans l’exemple joint).

 ‘C1 liste pour l’affiliation, C2 celle pour la section
Private Sub UserForm_Initialize()
  C1.List = [TA].Value 'TA : tableau à 2 colonnes des titres et noms des listes associées ç1, ç2 …
End Sub
Private Sub C1_Change()
  C2.ListIndex = -1 'vider : .Clear pose problème avec ma version
  C2.RowSource = Feuil2.Range(C1.List(C1.ListIndex, 1)).Address
End Sub
Nota : ici la seconde liste est initialisée avec la propriété RowSource plutôt que la propriété List (oubliée dans la liste) car certaines versions d’Excel ne supportent pas, pour cette dernière, des listes d’un seul item.

Remarque : d’habitude je passe par la propriété .List avec des tableaux structurés mais ils doivent être de plus d’une ligne (selon la version d’Excel).

Ici, avec la propriété .RowSource, on peut même avoir le titre de la plage.

9test-enem.xlsm (26.23 Ko)

Merci beaucoup pour tes explications c'est très clair j'ai tout compris.

Bonne soirée

Rechercher des sujets similaires à "remplissage listbox"