ComboBox dépendante d'une autre ?

Bonsoir à tous,

Dans mon UserForm je voudrais que dés que sélectionne un code postal dans la cbo_CP, la ville s'inscrive d'office dans la cbo_Ville ...

j' ai lu et vu plein de tutoriels, mais n'ai pas réussi à trouver mon bonheur...

Pourriez vous m'aider à réaliser cela ?

Merci d'avance pour votre précieuse aide...

Mon fichier joint :

Bonjour,

Voir plus bas...

ric

Bonjour

voila un test sur userform1

A voir le principe des code CP

A+

Maurice

Bonjour atlonia, archer,

Voici le fichier, sauce archer ... bien plus délicieuse que la mienne

ric

Bonjour ric

merci de jouer avec ma conbobox

une petit remarque ca bug si tu pape dans la combo

faire une petite modife HI

Private Sub cbo_CP_Change()
If cbo_CP.ListIndex = -1 Then Exit Sub
    TextBoxVille = cbo_CP.Column(1)
End Sub

A+

Maurice

Bonjour archer, le forum,

Noté et corrigé dans le fichier précédent.

Merci

ric

Merci ric et archer,

Pour votre aide...

J'ai joué toute la journée avec vos 2 propositions, mais j'avoue avoir beaucoup de mal à les adapter à mon fichier...

Je suis encore loin d'avoir votre expérience en VBA, mais je m'accroche...

ric, tu as remplacé ma ComboBox "cbo_Ville" par une textBox, alors que je souhaiterais conserver mes 2 ComboBox, car certaines villes ont le même code postal...

Et j'aimerais que la cbo_Ville me retourne la liste de ces villes...

archer, J'ai également tenté de modifier ton exemple, notamment en mettant mes CP dans la colonne A et mes villes dans la colonne B, et là, la ComboBox2 ne se charge plus...

En fait à terme, ce que je cherche à faire :

Entrer le CP dans la cbo_CP

Que la cbo_Ville me retourne les villes portant ce même CP

si le CP n'est pas dans la liste, possibilité de le rajouter avec le nom de la ville dans leur liste dynamique respective...

Quel

Merci encore pour votre aide, et si vous avez d'autres idée, je les recevrai avec plaisir.

PS : archer, j'ai bien vu ton correctif, mais n'ai pas su ou le mettre, car il parle de cbo_CP alors que tu as travaillé sur un nouveau UserForm

avec des ComboBox...

Bonne soirée à tous les deux

Bonjour à tous,

@atlonia

... je souhaiterais conserver mes 2 ComboBox, car certaines villes ont le même code postal .. .

De ce fait, il va falloir modifier le tableau de la feuille DATAS, car pour l'instant, on ne peut pas avoir plusieurs codes postaux semblables ... pour qu'ils aient des villes différentes.

Je regarde cela.

ric

Bonjour à tous,

Je suis reparti du fichier avec ta demande.

J'ai enlevé les valeurs à la propriété "Rowsource" des 2 combobox concernés (cp et ville)

J'ai enlevé la "Validation des données" dans le tableau (feuille DATAS), car ça empêchait d'avoir des doublons en A pour des villes différents en B.

J'ai ajouté UserForm_Initialize afin d'avoir une liste sans doublon dans cbo_CP, car le même CP peut se répéter pour des villes différentes.

J'ai modifié cbo_CP_Change

J'ai tenu compte que le tableau en DATAS peut varier de longueur.

Est-ce que j'ai bien compris ta demande ?

Est-ce que ça peut convenir ?

ric

Rebonjour,

Pour l'instant, je n'ai pas ajouté

si le CP n'est pas dans la liste, possibilité de le rajouter avec le nom de la ville dans leur liste dynamique respective...

ric

bonjour,

Un exemple avec la liste des codes postaux pour éviter d'avoir à en rajouter

La base de donnée de tes deux "combobox" sont en rowsource

il suffit en cas de changement d'indiquer que :

cbo_Ville.ListIndex = cbo_CP.ListIndex --------------> quand code postal change

cbo_CP.ListIndex = cbo_Ville.ListIndex ---------------> quand Ville change.

Avec ceci le nom de ville pourra apparaître deux fois pour un code postal différent.

Bonjour Xmenpl,

Y a-t-il une raison particulière pour expliquer que la liste des codes postaux contienne plusieurs doublons ?

Exemple : 01700 MIRIBEL 3 fois, 1800 VILLIEU LOYES MOLLON 3 fois, 02300 CAMELIN 2 fois, etc.

En fait, si on nettoie, 2015 lignes disparaissent sur 38926.

ric

Bonjour Ric

Les doublons ? oui sans doute c'est ce qui arrive quand un utilisateur peut ajouter à sa guise

Mais ce n'est qu'un exemple

je pense qu'il ne devrait pas y avoir trop de problème pour trouver une liste officielle des codes postaux

et l'adapter à son fichier.

Merci ric et Xmenpl,

Xmenpl, ta piste est très intéressante, Je vais la conserver pour l'approfondir un peut plus, mais je veux que la Cbo_Ville

ne m'affiche que les villes portant le CP sélectionné. Merci de t'intéresser à mon problème...

ric, ta solution me convient parfaitement, bien que si je tape un CP qui n'est pas dans la liste dans de la feuille "Datas", la

Cbo_Ville garde en mémoire les villes du CP précédent...

Merci encore à tous les deux pour vos propositions...

Bonjour,

Une autre version avec la grande liste de CP de Xmenpl.

Mais, il y a beaucoup de lignes et c'est un peu long à ouvrir.

La colonne D se met à jour en sélectionnant la feuille DATAS, elle sert à l'alimentation de la cbo_CP triée sans doublon.

ric

Bonjour ric,

Merci pour cette adaptation du code de Xmenpl

Désolé de ne pas avoir répondu plus tôt...

Mais j'étais en train de travailler sur l'intégration de mes données et tout tournait si bien que je me suis focalisé dessus...

Mais voilà, lors du nettoyage de mon code, j'ai effacé une ligne. mais laquelle...

Je vais essayer de réparer et je reviens vers vous dés qu'il m'arrive un problème que je n'arrive pas à résoudre.

Merci encore pour votre aide à tous.

Bonjour,

... lors du nettoyage de mon code, j'ai effacé une ligne. mais laquelle ...

Une méthode qui fonctionne bien, on met en commentaire la ligne au lieu de l'effacer.

Quand le nouveau code roule bien, il ne reste qu'à nettoyer les bouts de code en commentaire.

Un pas à pas (F8) et les points d'arrêt (F9) pour passer rapidement les longues boucles aident à retrouver là où ça coince.

ric

Bonjour ric,

Merci pour tes conseils avisés, c'est ce que j'étais en train de faire, et j'ai trouvé....

Je vais essayer d'être plus prudent à l'avenir avant d'enregistrer des erreurs...

Merci encore.

Rechercher des sujets similaires à "combobox dependante"